logstash-core 1.5.6-java → 2.0.0.beta1-java
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of logstash-core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/logstash/agent.rb +7 -7
- data/lib/logstash/json.rb +2 -10
- data/lib/logstash/patches/stronger_openssl_defaults.rb +1 -1
- data/lib/logstash/plugin.rb +0 -12
- data/lib/logstash/string_interpolation.rb +1 -1
- data/lib/logstash/version.rb +1 -1
- data/locales/en.yml +10 -12
- data/logstash-core.gemspec +1 -3
- data/spec/core/event_spec.rb +7 -15
- data/spec/license_spec.rb +0 -13
- metadata +42 -73
- data/lib/logstash/threadwatchdog.rb +0 -37
- data/spec/util/buftok_spec.rb +0 -31
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8280b889d663e0310425acfb0f7d75f4e1a024e0
|
4
|
+
data.tar.gz: a164ff373d9abbd7189adf99af24bacb3bc91238
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8b4f816cac02bf178e9b408a28a8178d4b608adbca9d58e0528fe9f9b52b1c0ab37edddd88f83b8f8b9b66de4fed6f9aafe8b4867b7ab5aca48588df8edeccb
|
7
|
+
data.tar.gz: 4dd5b531749f62087e2816b5855e4093f8039ad07a5c9753b1a8d2a58f9d3a311b7459f129ed4eaf38c311132c16537c766c6f85556bf438fe5809d924b75173
|
data/lib/logstash/agent.rb
CHANGED
@@ -7,22 +7,22 @@ require "net/http"
|
|
7
7
|
LogStash::Environment.load_locale!
|
8
8
|
|
9
9
|
class LogStash::Agent < Clamp::Command
|
10
|
+
DEFAULT_INPUT = "input { stdin { type => stdin } }"
|
11
|
+
DEFAULT_OUTPUT = "output { stdout { codec => rubydebug } }"
|
12
|
+
|
10
13
|
option ["-f", "--config"], "CONFIG_PATH",
|
11
14
|
I18n.t("logstash.agent.flag.config"),
|
12
15
|
:attribute_name => :config_path
|
13
16
|
|
14
17
|
option "-e", "CONFIG_STRING",
|
15
|
-
I18n.t("logstash.agent.flag.config-string"
|
18
|
+
I18n.t("logstash.agent.flag.config-string",
|
19
|
+
:default_input => DEFAULT_INPUT, :default_output => DEFAULT_OUTPUT),
|
16
20
|
:default => "", :attribute_name => :config_string
|
17
21
|
|
18
22
|
option ["-w", "--filterworkers"], "COUNT",
|
19
23
|
I18n.t("logstash.agent.flag.filterworkers"),
|
20
24
|
:attribute_name => :filter_workers, :default => 1, &:to_i
|
21
25
|
|
22
|
-
option "--watchdog-timeout", "SECONDS",
|
23
|
-
I18n.t("logstash.agent.flag.watchdog-timeout"),
|
24
|
-
:default => 10, &:to_f
|
25
|
-
|
26
26
|
option ["-l", "--log"], "FILE",
|
27
27
|
I18n.t("logstash.agent.flag.log"),
|
28
28
|
:attribute_name => :log_file
|
@@ -102,11 +102,11 @@ class LogStash::Agent < Clamp::Command
|
|
102
102
|
else
|
103
103
|
# include a default stdin input if no inputs given
|
104
104
|
if @config_string !~ /input *{/
|
105
|
-
@config_string +=
|
105
|
+
@config_string += DEFAULT_INPUT
|
106
106
|
end
|
107
107
|
# include a default stdout output if no outputs given
|
108
108
|
if @config_string !~ /output *{/
|
109
|
-
@config_string +=
|
109
|
+
@config_string += DEFAULT_OUTPUT
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
data/lib/logstash/json.rb
CHANGED
@@ -32,23 +32,15 @@ module LogStash
|
|
32
32
|
### JRuby
|
33
33
|
|
34
34
|
def jruby_load(data, options = {})
|
35
|
-
|
36
|
-
# options[:symbolize_keys] ? JrJackson::Raw.parse_sym(data) : JrJackson::Raw.parse_raw(data)
|
37
|
-
|
38
|
-
JrJackson::Ruby.parse(data, options)
|
39
|
-
|
35
|
+
options[:symbolize_keys] ? JrJackson::Raw.parse_sym(data) : JrJackson::Raw.parse_raw(data)
|
40
36
|
rescue JrJackson::ParseError => e
|
41
37
|
raise LogStash::Json::ParserError.new(e.message)
|
42
38
|
end
|
43
39
|
|
44
40
|
def jruby_dump(o)
|
45
|
-
# TODO [guyboertje] remove these comments in 5.0
|
46
41
|
# test for enumerable here to work around an omission in JrJackson::Json.dump to
|
47
42
|
# also look for Java::JavaUtil::ArrayList, see TODO submit issue
|
48
|
-
|
49
|
-
|
50
|
-
JrJackson::Base.generate(o, {})
|
51
|
-
|
43
|
+
o.is_a?(Enumerable) ? JrJackson::Raw.generate(o) : JrJackson::Json.dump(o)
|
52
44
|
rescue => e
|
53
45
|
raise LogStash::Json::GeneratorError.new(e.message)
|
54
46
|
end
|
@@ -61,7 +61,7 @@ class OpenSSL::SSL::SSLContext
|
|
61
61
|
# For more details see: https://github.com/elastic/logstash/issues/3657
|
62
62
|
remove_const(:DEFAULT_PARAMS) if const_defined?(:DEFAULT_PARAMS)
|
63
63
|
DEFAULT_PARAMS = {
|
64
|
-
:ssl_version => "
|
64
|
+
:ssl_version => "SSLv23",
|
65
65
|
:ciphers => MOZILLA_INTERMEDIATE_CIPHERS,
|
66
66
|
:options => __default_options # Not a constant because it's computed at start-time.
|
67
67
|
}
|
data/lib/logstash/plugin.rb
CHANGED
@@ -97,18 +97,6 @@ class LogStash::Plugin
|
|
97
97
|
return "#{self.class.name}: #{@params}"
|
98
98
|
end
|
99
99
|
|
100
|
-
protected
|
101
|
-
def update_watchdog(state)
|
102
|
-
Thread.current[:watchdog] = Time.now
|
103
|
-
Thread.current[:watchdog_state] = state
|
104
|
-
end
|
105
|
-
|
106
|
-
protected
|
107
|
-
def clear_watchdog
|
108
|
-
Thread.current[:watchdog] = nil
|
109
|
-
Thread.current[:watchdog_state] = nil
|
110
|
-
end
|
111
|
-
|
112
100
|
public
|
113
101
|
def inspect
|
114
102
|
if !@params.nil?
|
data/lib/logstash/version.rb
CHANGED
data/locales/en.yml
CHANGED
@@ -128,7 +128,7 @@ en:
|
|
128
128
|
This is often a permissions issue, or the wrong
|
129
129
|
path was specified?
|
130
130
|
flag:
|
131
|
-
# Note: Wrap these at
|
131
|
+
# Note: Wrap these at 55 chars so they display nicely when clamp emits
|
132
132
|
# them in an 80-character terminal
|
133
133
|
config: |+
|
134
134
|
Load the logstash config from a specific file
|
@@ -141,20 +141,18 @@ en:
|
|
141
141
|
config-string: |+
|
142
142
|
Use the given string as the configuration
|
143
143
|
data. Same syntax as the config file. If no
|
144
|
-
input is specified, then
|
145
|
-
|
146
|
-
|
147
|
-
|
144
|
+
input is specified, then the following is
|
145
|
+
used as the default input:
|
146
|
+
"%{default_input}"
|
147
|
+
and if no output is specified, then the
|
148
|
+
following is used as the default output:
|
149
|
+
"%{default_output}"
|
150
|
+
If you wish to use both defaults, please use
|
151
|
+
the empty string for the '-e' flag.
|
148
152
|
configtest: |+
|
149
|
-
Check configuration
|
153
|
+
Check configuration for valid syntax and then exit.
|
150
154
|
filterworkers: |+
|
151
155
|
Sets the number of filter workers to run.
|
152
|
-
watchdog-timeout: |+
|
153
|
-
Set the filter watchdog timeout (in seconds).
|
154
|
-
This timeout is used to detect stuck filters;
|
155
|
-
stuck filters usually symptoms of bugs.
|
156
|
-
When a filter takes longer than TIMEOUT
|
157
|
-
seconds, it will cause logstash to abort.
|
158
156
|
log: |+
|
159
157
|
Write logstash internal logs to the given
|
160
158
|
file. Without this flag, logstash will emit
|
data/logstash-core.gemspec
CHANGED
@@ -23,8 +23,6 @@ Gem::Specification.new do |gem|
|
|
23
23
|
gem.add_runtime_dependency "clamp", "~> 0.6.5" #(MIT license) for command line args/flags
|
24
24
|
gem.add_runtime_dependency "filesize", "0.0.4" #(MIT license) for :bytes config validator
|
25
25
|
gem.add_runtime_dependency "gems", "~> 0.8.3" #(MIT license)
|
26
|
-
gem.add_runtime_dependency "concurrent-ruby", "0.9.2"
|
27
|
-
gem.add_runtime_dependency "jruby-openssl", ">= 0.9.11" # Required to support TLSv1.2
|
28
26
|
|
29
27
|
# TODO(sissel): Treetop 1.5.x doesn't seem to work well, but I haven't
|
30
28
|
# investigated what the cause might be. -Jordan
|
@@ -39,7 +37,7 @@ Gem::Specification.new do |gem|
|
|
39
37
|
|
40
38
|
if RUBY_PLATFORM == 'java'
|
41
39
|
gem.platform = RUBY_PLATFORM
|
42
|
-
gem.add_runtime_dependency "jrjackson", "~> 0.
|
40
|
+
gem.add_runtime_dependency "jrjackson", "~> 0.2.9" #(Apache 2.0 license)
|
43
41
|
else
|
44
42
|
gem.add_runtime_dependency "oj" #(MIT-style license)
|
45
43
|
end
|
data/spec/core/event_spec.rb
CHANGED
@@ -50,10 +50,6 @@ describe LogStash::Event do
|
|
50
50
|
expect(subject.sprintf("%{+%s}")).to eq("1356998400")
|
51
51
|
end
|
52
52
|
|
53
|
-
it "should work if there is no fieldref in the string" do
|
54
|
-
expect(subject.sprintf("bonjour")).to eq("bonjour")
|
55
|
-
end
|
56
|
-
|
57
53
|
it "should raise error when formatting %{+%s} when @timestamp field is missing" do
|
58
54
|
str = "hello-%{+%s}"
|
59
55
|
subj = subject.clone
|
@@ -104,10 +100,6 @@ describe LogStash::Event do
|
|
104
100
|
expect(subject.sprintf("%{[j][k3]}")).to eq("{\"4\":\"m\"}")
|
105
101
|
end
|
106
102
|
|
107
|
-
it "should not strip last character" do
|
108
|
-
expect(subject.sprintf("%{type}%{message}|")).to eq("sprintfhello world|")
|
109
|
-
end
|
110
|
-
|
111
103
|
context "#encoding" do
|
112
104
|
it "should return known patterns as UTF-8" do
|
113
105
|
expect(subject.sprintf("%{message}").encoding).to eq(Encoding::UTF_8)
|
@@ -446,14 +438,14 @@ describe LogStash::Event do
|
|
446
438
|
end
|
447
439
|
end
|
448
440
|
end
|
449
|
-
end
|
450
441
|
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
442
|
+
context "signal events" do
|
443
|
+
it "should define the shutdown event" do
|
444
|
+
# the SHUTDOWN and FLUSH constants are part of the plugin API contract
|
445
|
+
# if they are changed, all plugins must be updated
|
446
|
+
expect(LogStash::SHUTDOWN).to be_a(LogStash::ShutdownEvent)
|
447
|
+
expect(LogStash::FLUSH).to be_a(LogStash::FlushEvent)
|
448
|
+
end
|
457
449
|
end
|
458
450
|
end
|
459
451
|
|
data/spec/license_spec.rb
CHANGED
@@ -16,18 +16,6 @@ describe "Project licenses" do
|
|
16
16
|
/lgpl/])
|
17
17
|
}
|
18
18
|
|
19
|
-
##
|
20
|
-
# This licenses are skipped from the license test of many reasons, check
|
21
|
-
# the exact dependency for detailed information.
|
22
|
-
##
|
23
|
-
let(:skipped_dependencies) do
|
24
|
-
[
|
25
|
-
# Skipped because of already included and bundled within JRuby so checking here is redundant.
|
26
|
-
# Need to take action about jruby licenses to enable again or keep skeeping.
|
27
|
-
"jruby-openssl"
|
28
|
-
]
|
29
|
-
end
|
30
|
-
|
31
19
|
shared_examples "runtime license test" do
|
32
20
|
|
33
21
|
subject(:gem_name) do |example|
|
@@ -45,7 +33,6 @@ describe "Project licenses" do
|
|
45
33
|
it "has runtime dependencies with expected licenses" do
|
46
34
|
spec.runtime_dependencies.map { |dep| dep.to_spec }.each do |runtime_spec|
|
47
35
|
next unless runtime_spec
|
48
|
-
next if skipped_dependencies.include?(runtime_spec.name)
|
49
36
|
runtime_spec.licenses.each do |license|
|
50
37
|
expect(license.downcase).to match(expected_licenses)
|
51
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0.beta1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Jordan Sissel
|
@@ -10,190 +10,162 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-09-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
requirements:
|
18
|
-
- - ~>
|
19
|
-
- !ruby/object:Gem::Version
|
20
|
-
version: 0.7.0
|
21
16
|
name: cabin
|
22
|
-
prerelease: false
|
23
|
-
type: :runtime
|
24
17
|
version_requirements: !ruby/object:Gem::Requirement
|
25
18
|
requirements:
|
26
19
|
- - ~>
|
27
20
|
- !ruby/object:Gem::Version
|
28
21
|
version: 0.7.0
|
29
|
-
- !ruby/object:Gem::Dependency
|
30
22
|
requirement: !ruby/object:Gem::Requirement
|
31
23
|
requirements:
|
32
24
|
- - ~>
|
33
25
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
35
|
-
name: pry
|
26
|
+
version: 0.7.0
|
36
27
|
prerelease: false
|
37
28
|
type: :runtime
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: pry
|
38
31
|
version_requirements: !ruby/object:Gem::Requirement
|
39
32
|
requirements:
|
40
33
|
- - ~>
|
41
34
|
- !ruby/object:Gem::Version
|
42
35
|
version: 0.10.1
|
43
|
-
- !ruby/object:Gem::Dependency
|
44
36
|
requirement: !ruby/object:Gem::Requirement
|
45
37
|
requirements:
|
46
38
|
- - ~>
|
47
39
|
- !ruby/object:Gem::Version
|
48
|
-
version: 0.
|
49
|
-
name: stud
|
40
|
+
version: 0.10.1
|
50
41
|
prerelease: false
|
51
42
|
type: :runtime
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: stud
|
52
45
|
version_requirements: !ruby/object:Gem::Requirement
|
53
46
|
requirements:
|
54
47
|
- - ~>
|
55
48
|
- !ruby/object:Gem::Version
|
56
49
|
version: 0.0.19
|
57
|
-
- !ruby/object:Gem::Dependency
|
58
50
|
requirement: !ruby/object:Gem::Requirement
|
59
51
|
requirements:
|
60
52
|
- - ~>
|
61
53
|
- !ruby/object:Gem::Version
|
62
|
-
version: 0.
|
63
|
-
name: clamp
|
54
|
+
version: 0.0.19
|
64
55
|
prerelease: false
|
65
56
|
type: :runtime
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: clamp
|
66
59
|
version_requirements: !ruby/object:Gem::Requirement
|
67
60
|
requirements:
|
68
61
|
- - ~>
|
69
62
|
- !ruby/object:Gem::Version
|
70
63
|
version: 0.6.5
|
71
|
-
- !ruby/object:Gem::Dependency
|
72
64
|
requirement: !ruby/object:Gem::Requirement
|
73
65
|
requirements:
|
74
|
-
- -
|
66
|
+
- - ~>
|
75
67
|
- !ruby/object:Gem::Version
|
76
|
-
version: 0.
|
77
|
-
name: filesize
|
68
|
+
version: 0.6.5
|
78
69
|
prerelease: false
|
79
70
|
type: :runtime
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: filesize
|
80
73
|
version_requirements: !ruby/object:Gem::Requirement
|
81
74
|
requirements:
|
82
75
|
- - '='
|
83
76
|
- !ruby/object:Gem::Version
|
84
77
|
version: 0.0.4
|
85
|
-
- !ruby/object:Gem::Dependency
|
86
78
|
requirement: !ruby/object:Gem::Requirement
|
87
79
|
requirements:
|
88
|
-
- -
|
80
|
+
- - '='
|
89
81
|
- !ruby/object:Gem::Version
|
90
|
-
version: 0.
|
91
|
-
name: gems
|
82
|
+
version: 0.0.4
|
92
83
|
prerelease: false
|
93
84
|
type: :runtime
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: gems
|
94
87
|
version_requirements: !ruby/object:Gem::Requirement
|
95
88
|
requirements:
|
96
89
|
- - ~>
|
97
90
|
- !ruby/object:Gem::Version
|
98
91
|
version: 0.8.3
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
92
|
requirement: !ruby/object:Gem::Requirement
|
101
93
|
requirements:
|
102
|
-
- -
|
94
|
+
- - ~>
|
103
95
|
- !ruby/object:Gem::Version
|
104
|
-
version: 0.
|
105
|
-
name: concurrent-ruby
|
96
|
+
version: 0.8.3
|
106
97
|
prerelease: false
|
107
98
|
type: :runtime
|
108
|
-
version_requirements: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
- - '='
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
version: 0.9.2
|
113
99
|
- !ruby/object:Gem::Dependency
|
114
|
-
|
115
|
-
requirements:
|
116
|
-
- - '>='
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: 0.9.11
|
119
|
-
name: jruby-openssl
|
120
|
-
prerelease: false
|
121
|
-
type: :runtime
|
100
|
+
name: treetop
|
122
101
|
version_requirements: !ruby/object:Gem::Requirement
|
123
102
|
requirements:
|
124
|
-
- -
|
103
|
+
- - <
|
125
104
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
127
|
-
- !ruby/object:Gem::Dependency
|
105
|
+
version: 1.5.0
|
128
106
|
requirement: !ruby/object:Gem::Requirement
|
129
107
|
requirements:
|
130
108
|
- - <
|
131
109
|
- !ruby/object:Gem::Version
|
132
110
|
version: 1.5.0
|
133
|
-
name: treetop
|
134
111
|
prerelease: false
|
135
112
|
type: :runtime
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: i18n
|
136
115
|
version_requirements: !ruby/object:Gem::Requirement
|
137
116
|
requirements:
|
138
|
-
- -
|
117
|
+
- - '='
|
139
118
|
- !ruby/object:Gem::Version
|
140
|
-
version:
|
141
|
-
- !ruby/object:Gem::Dependency
|
119
|
+
version: 0.6.9
|
142
120
|
requirement: !ruby/object:Gem::Requirement
|
143
121
|
requirements:
|
144
122
|
- - '='
|
145
123
|
- !ruby/object:Gem::Version
|
146
124
|
version: 0.6.9
|
147
|
-
name: i18n
|
148
125
|
prerelease: false
|
149
126
|
type: :runtime
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: minitar
|
150
129
|
version_requirements: !ruby/object:Gem::Requirement
|
151
130
|
requirements:
|
152
|
-
- -
|
131
|
+
- - ~>
|
153
132
|
- !ruby/object:Gem::Version
|
154
|
-
version: 0.
|
155
|
-
- !ruby/object:Gem::Dependency
|
133
|
+
version: 0.5.4
|
156
134
|
requirement: !ruby/object:Gem::Requirement
|
157
135
|
requirements:
|
158
136
|
- - ~>
|
159
137
|
- !ruby/object:Gem::Version
|
160
138
|
version: 0.5.4
|
161
|
-
name: minitar
|
162
139
|
prerelease: false
|
163
140
|
type: :runtime
|
141
|
+
- !ruby/object:Gem::Dependency
|
142
|
+
name: thread_safe
|
164
143
|
version_requirements: !ruby/object:Gem::Requirement
|
165
144
|
requirements:
|
166
145
|
- - ~>
|
167
146
|
- !ruby/object:Gem::Version
|
168
|
-
version: 0.5
|
169
|
-
- !ruby/object:Gem::Dependency
|
147
|
+
version: 0.3.5
|
170
148
|
requirement: !ruby/object:Gem::Requirement
|
171
149
|
requirements:
|
172
150
|
- - ~>
|
173
151
|
- !ruby/object:Gem::Version
|
174
152
|
version: 0.3.5
|
175
|
-
name: thread_safe
|
176
153
|
prerelease: false
|
177
154
|
type: :runtime
|
155
|
+
- !ruby/object:Gem::Dependency
|
156
|
+
name: jrjackson
|
178
157
|
version_requirements: !ruby/object:Gem::Requirement
|
179
158
|
requirements:
|
180
159
|
- - ~>
|
181
160
|
- !ruby/object:Gem::Version
|
182
|
-
version: 0.
|
183
|
-
- !ruby/object:Gem::Dependency
|
161
|
+
version: 0.2.9
|
184
162
|
requirement: !ruby/object:Gem::Requirement
|
185
163
|
requirements:
|
186
164
|
- - ~>
|
187
165
|
- !ruby/object:Gem::Version
|
188
|
-
version: 0.
|
189
|
-
name: jrjackson
|
166
|
+
version: 0.2.9
|
190
167
|
prerelease: false
|
191
168
|
type: :runtime
|
192
|
-
version_requirements: !ruby/object:Gem::Requirement
|
193
|
-
requirements:
|
194
|
-
- - ~>
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: 0.3.7
|
197
169
|
description: The core components of logstash, the scalable log and event management tool
|
198
170
|
email:
|
199
171
|
- jls@semicomplete.com
|
@@ -236,7 +208,6 @@ files:
|
|
236
208
|
- lib/logstash/runner.rb
|
237
209
|
- lib/logstash/sized_queue.rb
|
238
210
|
- lib/logstash/string_interpolation.rb
|
239
|
-
- lib/logstash/threadwatchdog.rb
|
240
211
|
- lib/logstash/timestamp.rb
|
241
212
|
- lib/logstash/util.rb
|
242
213
|
- lib/logstash/util/accessors.rb
|
@@ -277,7 +248,6 @@ files:
|
|
277
248
|
- spec/pluginmanager/util_spec.rb
|
278
249
|
- spec/spec_helper.rb
|
279
250
|
- spec/util/accessors_spec.rb
|
280
|
-
- spec/util/buftok_spec.rb
|
281
251
|
- spec/util/charset_spec.rb
|
282
252
|
- spec/util/gemfile_spec.rb
|
283
253
|
- spec/util/java_version_spec.rb
|
@@ -300,12 +270,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
300
270
|
version: '0'
|
301
271
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
302
272
|
requirements:
|
303
|
-
- - '
|
273
|
+
- - '>'
|
304
274
|
- !ruby/object:Gem::Version
|
305
|
-
version:
|
275
|
+
version: 1.3.1
|
306
276
|
requirements: []
|
307
277
|
rubyforge_project:
|
308
|
-
rubygems_version: 2.
|
278
|
+
rubygems_version: 2.2.2
|
309
279
|
signing_key:
|
310
280
|
specification_version: 4
|
311
281
|
summary: logstash-core - The core components of logstash
|
@@ -331,7 +301,6 @@ test_files:
|
|
331
301
|
- spec/pluginmanager/util_spec.rb
|
332
302
|
- spec/spec_helper.rb
|
333
303
|
- spec/util/accessors_spec.rb
|
334
|
-
- spec/util/buftok_spec.rb
|
335
304
|
- spec/util/charset_spec.rb
|
336
305
|
- spec/util/gemfile_spec.rb
|
337
306
|
- spec/util/java_version_spec.rb
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require "logstash/namespace"
|
3
|
-
require "logstash/logging"
|
4
|
-
|
5
|
-
class LogStash::ThreadWatchdog
|
6
|
-
attr_accessor :logger
|
7
|
-
attr_accessor :threads
|
8
|
-
|
9
|
-
class TimeoutError < StandardError; end
|
10
|
-
|
11
|
-
public
|
12
|
-
def initialize(threads, watchdog_timeout=10)
|
13
|
-
@threads = threads
|
14
|
-
@watchdog_timeout = watchdog_timeout
|
15
|
-
end # def initialize
|
16
|
-
|
17
|
-
public
|
18
|
-
def watch
|
19
|
-
while sleep(1)
|
20
|
-
cutoff = Time.now - @watchdog_timeout
|
21
|
-
@threads.each do |t|
|
22
|
-
watchdog = t[:watchdog]
|
23
|
-
if watchdog and watchdog <= cutoff
|
24
|
-
age = Time.now - watchdog
|
25
|
-
@logger.fatal("thread watchdog timeout",
|
26
|
-
:thread => t,
|
27
|
-
:backtrace => t.backtrace,
|
28
|
-
:thread_watchdog => watchdog,
|
29
|
-
:age => age,
|
30
|
-
:cutoff => @watchdog_timeout,
|
31
|
-
:state => t[:watchdog_state])
|
32
|
-
raise TimeoutError, "watchdog timeout"
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end # def watch
|
37
|
-
end # class LogStash::ThreadWatchdog
|
data/spec/util/buftok_spec.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require "spec_helper"
|
3
|
-
require "logstash/util/buftok"
|
4
|
-
|
5
|
-
describe FileWatch::BufferedTokenizer do
|
6
|
-
|
7
|
-
subject { FileWatch::BufferedTokenizer.new }
|
8
|
-
|
9
|
-
it "should tokenize a single token" do
|
10
|
-
expect(subject.extract("foo\n")).to eq(["foo"])
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should merge multiple token" do
|
14
|
-
expect(subject.extract("foo")).to eq([])
|
15
|
-
expect(subject.extract("bar\n")).to eq(["foobar"])
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should tokenize multiple token" do
|
19
|
-
expect(subject.extract("foo\nbar\n")).to eq(["foo", "bar"])
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should ignore empty payload" do
|
23
|
-
expect(subject.extract("")).to eq([])
|
24
|
-
expect(subject.extract("foo\nbar")).to eq(["foo"])
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should tokenize empty payload with newline" do
|
28
|
-
expect(subject.extract("\n")).to eq([""])
|
29
|
-
expect(subject.extract("\n\n\n")).to eq(["", "", ""])
|
30
|
-
end
|
31
|
-
end
|