logstash-filter-grok 3.2.0 → 3.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/logstash/filters/grok.rb +3 -1
- data/lib/logstash/filters/grok/timeout_enforcer.rb +10 -6
- data/logstash-filter-grok.gemspec +1 -1
- data/spec/filters/grok_spec.rb +19 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26ce02b49c1b5bf27a1ea5470cef3b2875fa73e6
|
4
|
+
data.tar.gz: 936454b6cf21105471e21ed161835d722a9092c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2723677afeb369af6e1555b308b11c24ee4cb9f6c1baf6b74fc2fdedcff3e4d09702bcabf1532a2738134850eaa9f4c9821daf3f230df02f0a2c8bed66f701eb
|
7
|
+
data.tar.gz: 2625317a10db35a9de2905ba534bfa80bbf7d6df031122077e180e252d0dc20ea1bfdaa46e62ada24894150502275c007c6706ef3433bb5a02735c45189b26c2
|
data/CHANGELOG.md
CHANGED
@@ -222,6 +222,8 @@
|
|
222
222
|
# will be parsed and `hello world` will overwrite the original message.
|
223
223
|
config :overwrite, :validate => :array, :default => []
|
224
224
|
|
225
|
+
attr_reader :timeout_enforcer
|
226
|
+
|
225
227
|
# Register default pattern paths
|
226
228
|
@@patterns_path ||= Set.new
|
227
229
|
@@patterns_path += [
|
@@ -390,7 +392,7 @@
|
|
390
392
|
end # def add_patterns_from_files
|
391
393
|
|
392
394
|
def close
|
393
|
-
@
|
395
|
+
@timeout_enforcer.stop!
|
394
396
|
end
|
395
397
|
|
396
398
|
end # class LogStash::Filters::Grok
|
@@ -1,4 +1,6 @@
|
|
1
1
|
class LogStash::Filters::Grok::TimeoutEnforcer
|
2
|
+
attr_reader :running
|
3
|
+
|
2
4
|
def initialize(logger, timeout_nanos)
|
3
5
|
@logger = logger
|
4
6
|
@running = true
|
@@ -42,12 +44,14 @@ class LogStash::Filters::Grok::TimeoutEnforcer
|
|
42
44
|
end
|
43
45
|
|
44
46
|
def cancel_timed_out!
|
45
|
-
@
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
47
|
+
@timer_mutex.synchronize do
|
48
|
+
@threads_to_start_time.each do |thread,start_time|
|
49
|
+
now = java.lang.System.nanoTime # save ourselves some nanotime calls
|
50
|
+
elapsed = java.lang.System.nanoTime - start_time
|
51
|
+
if elapsed > @timeout_nanos
|
52
|
+
elapsed_millis = elapsed / 1000
|
53
|
+
thread.raise(::LogStash::Filters::Grok::TimeoutException.new(elapsed_millis))
|
54
|
+
end
|
51
55
|
end
|
52
56
|
end
|
53
57
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
|
3
3
|
s.name = 'logstash-filter-grok'
|
4
|
-
s.version = '3.2.
|
4
|
+
s.version = '3.2.1'
|
5
5
|
s.licenses = ['Apache License (2.0)']
|
6
6
|
s.summary = "Parse arbitrary text and structure it."
|
7
7
|
s.description = "This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname. This gem is not a stand-alone program"
|
data/spec/filters/grok_spec.rb
CHANGED
@@ -821,4 +821,23 @@ describe LogStash::Filters::Grok do
|
|
821
821
|
end
|
822
822
|
end
|
823
823
|
|
824
|
+
describe "closing" do
|
825
|
+
subject(:plugin) do
|
826
|
+
::LogStash::Filters::Grok.new("match" => {"message" => "A"})
|
827
|
+
end
|
828
|
+
|
829
|
+
before do
|
830
|
+
plugin.register
|
831
|
+
end
|
832
|
+
|
833
|
+
it "should close cleanly" do
|
834
|
+
expect { plugin.do_close }.not_to raise_error
|
835
|
+
end
|
836
|
+
|
837
|
+
it "should stop the timeout enforcer" do
|
838
|
+
plugin.do_close
|
839
|
+
expect(plugin.timeout_enforcer.running).to be false
|
840
|
+
end
|
841
|
+
end
|
842
|
+
|
824
843
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-filter-grok
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|