logstash-core 2.2.4.snapshot2-java → 2.3.0-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-core/version.rb +1 -1
- data/lib/logstash/agent.rb +248 -140
- data/lib/logstash/config/defaults.rb +8 -0
- data/lib/logstash/config/loader.rb +90 -0
- data/lib/logstash/config/mixin.rb +44 -15
- data/lib/logstash/output_delegator.rb +1 -1
- data/lib/logstash/pipeline.rb +29 -28
- data/lib/logstash/runner.rb +5 -0
- data/lib/logstash/shutdown_watcher.rb +3 -2
- data/lib/logstash/special_agent.rb +8 -0
- data/lib/logstash/version.rb +1 -1
- data/locales/en.yml +16 -6
- data/logstash-core.gemspec +2 -2
- data/spec/logstash/agent_spec.rb +278 -34
- data/spec/logstash/config/loader_spec.rb +36 -0
- data/spec/logstash/config/mixin_spec.rb +76 -4
- data/spec/logstash/json_spec.rb +15 -0
- data/spec/logstash/pipeline_spec.rb +2 -2
- data/spec/logstash/plugin_spec.rb +1 -1
- data/spec/logstash/runner_spec.rb +13 -22
- data/spec/logstash/shutdown_watcher_spec.rb +4 -0
- metadata +36 -32
data/spec/logstash/json_spec.rb
CHANGED
@@ -18,6 +18,9 @@ describe "LogStash::Json" do
|
|
18
18
|
let(:multi) {
|
19
19
|
[
|
20
20
|
{:ruby => "foo bar baz", :json => "\"foo bar baz\""},
|
21
|
+
{:ruby => "foo ", :json => "\"foo \""},
|
22
|
+
{:ruby => " ", :json => "\" \""},
|
23
|
+
{:ruby => " ", :json => "\" \""},
|
21
24
|
{:ruby => "1", :json => "\"1\""},
|
22
25
|
{:ruby => {"a" => true}, :json => "{\"a\":true}"},
|
23
26
|
{:ruby => {"a" => nil}, :json => "{\"a\":null}"},
|
@@ -93,4 +96,16 @@ describe "LogStash::Json" do
|
|
93
96
|
it "should raise Json::ParserError on invalid json" do
|
94
97
|
expect{LogStash::Json.load("abc")}.to raise_error LogStash::Json::ParserError
|
95
98
|
end
|
99
|
+
|
100
|
+
it "should return nil on empty string" do
|
101
|
+
o = LogStash::Json.load("")
|
102
|
+
expect(o).to be_nil
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should return nil on blank string" do
|
106
|
+
o = LogStash::Json.load(" ")
|
107
|
+
expect(o).to be_nil
|
108
|
+
o = LogStash::Json.load(" ")
|
109
|
+
expect(o).to be_nil
|
110
|
+
end
|
96
111
|
end
|
@@ -209,7 +209,7 @@ describe LogStash::Pipeline do
|
|
209
209
|
pipeline.run
|
210
210
|
|
211
211
|
expect(pipeline.outputs.size ).to eq(1)
|
212
|
-
expect(pipeline.outputs.first.workers.size ).to eq(
|
212
|
+
expect(pipeline.outputs.first.workers.size ).to eq(::LogStash::Pipeline::DEFAULT_OUTPUT_WORKERS)
|
213
213
|
expect(pipeline.outputs.first.workers.first.num_closes ).to eq(1)
|
214
214
|
end
|
215
215
|
|
@@ -416,7 +416,7 @@ describe LogStash::Pipeline do
|
|
416
416
|
Thread.new { pipeline.run }
|
417
417
|
sleep 0.1 while !pipeline.ready?
|
418
418
|
# give us a bit of time to flush the events
|
419
|
-
wait(
|
419
|
+
wait(5).for do
|
420
420
|
next unless output && output.events && output.events.first
|
421
421
|
output.events.first["message"].split("\n").count
|
422
422
|
end.to eq(number_of_events)
|
@@ -111,7 +111,7 @@ describe LogStash::Plugin do
|
|
111
111
|
|
112
112
|
|
113
113
|
it 'logs a warning if the plugin use the milestone option' do
|
114
|
-
expect_any_instance_of(Cabin::Channel).to receive(:
|
114
|
+
expect_any_instance_of(Cabin::Channel).to receive(:debug)
|
115
115
|
.with(/stromae plugin is using the 'milestone' method/)
|
116
116
|
|
117
117
|
class LogStash::Filters::Stromae < LogStash::Filters::Base
|
@@ -10,6 +10,13 @@ end
|
|
10
10
|
|
11
11
|
describe LogStash::Runner do
|
12
12
|
|
13
|
+
let(:channel) { Cabin::Channel.new }
|
14
|
+
|
15
|
+
before :each do
|
16
|
+
allow(Cabin::Channel).to receive(:get).with(LogStash).and_return(channel)
|
17
|
+
end
|
18
|
+
|
19
|
+
|
13
20
|
context "argument parsing" do
|
14
21
|
it "should run agent" do
|
15
22
|
expect(Stud::Task).to receive(:new).once.and_return(nil)
|
@@ -38,31 +45,15 @@ describe LogStash::Runner do
|
|
38
45
|
end
|
39
46
|
end
|
40
47
|
|
41
|
-
|
42
|
-
|
43
|
-
let(:base_pipeline_settings) { { :pipeline_id => "base", :debug_config => false } }
|
44
|
-
let(:pipeline) { double("pipeline") }
|
48
|
+
context "--auto-reload" do
|
49
|
+
context "when -f is not given" do
|
45
50
|
|
46
|
-
|
47
|
-
task = Stud::Task.new { 1 }
|
48
|
-
allow(pipeline).to receive(:run).and_return(task)
|
49
|
-
end
|
51
|
+
let(:args) { ["agent", "-r", "-e", "input {} output {}"] }
|
50
52
|
|
51
|
-
|
52
|
-
|
53
|
-
expect(LogStash::Pipeline).to receive(:new).with(pipeline_string, base_pipeline_settings).and_return(pipeline)
|
54
|
-
args = ["agent", "-e", pipeline_string]
|
55
|
-
subject.run(args).wait
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
context "when pipeline workers is defined by the user" do
|
60
|
-
it "should pass the value to the pipeline" do
|
61
|
-
base_pipeline_settings[:pipeline_workers] = 2
|
62
|
-
expect(LogStash::Pipeline).to receive(:new).with(pipeline_string, base_pipeline_settings).and_return(pipeline)
|
63
|
-
args = ["agent", "-w", "2", "-e", pipeline_string]
|
64
|
-
subject.run(args).wait
|
53
|
+
it "should exit immediately" do
|
54
|
+
expect(subject.run(args).wait).to eq(1)
|
65
55
|
end
|
66
56
|
end
|
67
57
|
end
|
58
|
+
|
68
59
|
end
|
@@ -3,6 +3,7 @@ require "spec_helper"
|
|
3
3
|
require "logstash/shutdown_watcher"
|
4
4
|
|
5
5
|
describe LogStash::ShutdownWatcher do
|
6
|
+
let(:channel) { Cabin::Channel.new }
|
6
7
|
|
7
8
|
let(:check_every) { 0.01 }
|
8
9
|
let(:check_threshold) { 100 }
|
@@ -13,7 +14,10 @@ describe LogStash::ShutdownWatcher do
|
|
13
14
|
report_count = 0
|
14
15
|
|
15
16
|
before :each do
|
17
|
+
LogStash::ShutdownWatcher.logger = channel
|
18
|
+
|
16
19
|
allow(pipeline).to receive(:reporter).and_return(reporter)
|
20
|
+
allow(pipeline).to receive(:thread).and_return(Thread.current)
|
17
21
|
allow(reporter).to receive(:snapshot).and_return(reporter_snapshot)
|
18
22
|
allow(reporter_snapshot).to receive(:o_simple_hash).and_return({})
|
19
23
|
|
metadata
CHANGED
@@ -1,47 +1,47 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
|
-
- -
|
16
|
+
- - '='
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 2.
|
19
|
-
name: logstash-core-event
|
18
|
+
version: 2.3.0
|
19
|
+
name: logstash-core-event-java
|
20
20
|
prerelease: false
|
21
21
|
type: :runtime
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 2.
|
26
|
+
version: 2.3.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
|
-
- -
|
30
|
+
- - ~>
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
32
|
+
version: 0.8.0
|
33
33
|
name: cabin
|
34
34
|
prerelease: false
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 0.10.1
|
47
47
|
name: pry
|
@@ -49,13 +49,13 @@ dependencies:
|
|
49
49
|
type: :runtime
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 0.10.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - ~>
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: 0.0.19
|
61
61
|
name: stud
|
@@ -63,13 +63,13 @@ dependencies:
|
|
63
63
|
type: :runtime
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.0.19
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ~>
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 0.6.5
|
75
75
|
name: clamp
|
@@ -77,7 +77,7 @@ dependencies:
|
|
77
77
|
type: :runtime
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - ~>
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.6.5
|
83
83
|
- !ruby/object:Gem::Dependency
|
@@ -97,7 +97,7 @@ dependencies:
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - ~>
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: 0.8.3
|
103
103
|
name: gems
|
@@ -105,7 +105,7 @@ dependencies:
|
|
105
105
|
type: :runtime
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- -
|
108
|
+
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.8.3
|
111
111
|
- !ruby/object:Gem::Dependency
|
@@ -139,7 +139,7 @@ dependencies:
|
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
|
-
- -
|
142
|
+
- - <
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: 1.5.0
|
145
145
|
name: treetop
|
@@ -147,7 +147,7 @@ dependencies:
|
|
147
147
|
type: :runtime
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- -
|
150
|
+
- - <
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: 1.5.0
|
153
153
|
- !ruby/object:Gem::Dependency
|
@@ -167,7 +167,7 @@ dependencies:
|
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
requirement: !ruby/object:Gem::Requirement
|
169
169
|
requirements:
|
170
|
-
- -
|
170
|
+
- - ~>
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: 0.5.4
|
173
173
|
name: minitar
|
@@ -175,13 +175,13 @@ dependencies:
|
|
175
175
|
type: :runtime
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- -
|
178
|
+
- - ~>
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 0.5.4
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
|
-
- -
|
184
|
+
- - ~>
|
185
185
|
- !ruby/object:Gem::Version
|
186
186
|
version: 1.1.7
|
187
187
|
name: rubyzip
|
@@ -189,13 +189,13 @@ dependencies:
|
|
189
189
|
type: :runtime
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
|
-
- -
|
192
|
+
- - ~>
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 1.1.7
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
requirement: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
|
-
- -
|
198
|
+
- - ~>
|
199
199
|
- !ruby/object:Gem::Version
|
200
200
|
version: 0.3.5
|
201
201
|
name: thread_safe
|
@@ -203,13 +203,13 @@ dependencies:
|
|
203
203
|
type: :runtime
|
204
204
|
version_requirements: !ruby/object:Gem::Requirement
|
205
205
|
requirements:
|
206
|
-
- -
|
206
|
+
- - ~>
|
207
207
|
- !ruby/object:Gem::Version
|
208
208
|
version: 0.3.5
|
209
209
|
- !ruby/object:Gem::Dependency
|
210
210
|
requirement: !ruby/object:Gem::Requirement
|
211
211
|
requirements:
|
212
|
-
- -
|
212
|
+
- - ~>
|
213
213
|
- !ruby/object:Gem::Version
|
214
214
|
version: 0.3.7
|
215
215
|
name: jrjackson
|
@@ -217,7 +217,7 @@ dependencies:
|
|
217
217
|
type: :runtime
|
218
218
|
version_requirements: !ruby/object:Gem::Requirement
|
219
219
|
requirements:
|
220
|
-
- -
|
220
|
+
- - ~>
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: 0.3.7
|
223
223
|
description: The core components of logstash, the scalable log and event management tool
|
@@ -237,6 +237,7 @@ files:
|
|
237
237
|
- lib/logstash/config/defaults.rb
|
238
238
|
- lib/logstash/config/file.rb
|
239
239
|
- lib/logstash/config/grammar.rb
|
240
|
+
- lib/logstash/config/loader.rb
|
240
241
|
- lib/logstash/config/mixin.rb
|
241
242
|
- lib/logstash/config/registry.rb
|
242
243
|
- lib/logstash/environment.rb
|
@@ -262,6 +263,7 @@ files:
|
|
262
263
|
- lib/logstash/program.rb
|
263
264
|
- lib/logstash/runner.rb
|
264
265
|
- lib/logstash/shutdown_watcher.rb
|
266
|
+
- lib/logstash/special_agent.rb
|
265
267
|
- lib/logstash/util.rb
|
266
268
|
- lib/logstash/util/buftok.rb
|
267
269
|
- lib/logstash/util/charset.rb
|
@@ -285,6 +287,7 @@ files:
|
|
285
287
|
- spec/logstash/config/config_ast_spec.rb
|
286
288
|
- spec/logstash/config/cpu_core_strategy_spec.rb
|
287
289
|
- spec/logstash/config/defaults_spec.rb
|
290
|
+
- spec/logstash/config/loader_spec.rb
|
288
291
|
- spec/logstash/config/mixin_spec.rb
|
289
292
|
- spec/logstash/environment_spec.rb
|
290
293
|
- spec/logstash/filters/base_spec.rb
|
@@ -318,14 +321,14 @@ require_paths:
|
|
318
321
|
- lib
|
319
322
|
required_ruby_version: !ruby/object:Gem::Requirement
|
320
323
|
requirements:
|
321
|
-
- -
|
324
|
+
- - '>='
|
322
325
|
- !ruby/object:Gem::Version
|
323
326
|
version: '0'
|
324
327
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
325
328
|
requirements:
|
326
|
-
- -
|
329
|
+
- - '>='
|
327
330
|
- !ruby/object:Gem::Version
|
328
|
-
version:
|
331
|
+
version: '0'
|
329
332
|
requirements: []
|
330
333
|
rubyforge_project:
|
331
334
|
rubygems_version: 2.4.8
|
@@ -338,6 +341,7 @@ test_files:
|
|
338
341
|
- spec/logstash/config/config_ast_spec.rb
|
339
342
|
- spec/logstash/config/cpu_core_strategy_spec.rb
|
340
343
|
- spec/logstash/config/defaults_spec.rb
|
344
|
+
- spec/logstash/config/loader_spec.rb
|
341
345
|
- spec/logstash/config/mixin_spec.rb
|
342
346
|
- spec/logstash/environment_spec.rb
|
343
347
|
- spec/logstash/filters/base_spec.rb
|