logstash-core 1.5.6-java → 2.0.0.beta1-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
|