logstash-core 5.0.0.alpha5.snapshot1-java → 5.0.0.alpha6.snapshot1-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-core/version.rb +1 -1
- data/lib/logstash/agent.rb +1 -1
- data/lib/logstash/api/commands/default_metadata.rb +1 -1
- data/lib/logstash/api/commands/hot_threads_reporter.rb +4 -7
- data/lib/logstash/api/commands/node.rb +5 -4
- data/lib/logstash/api/commands/stats.rb +8 -3
- data/lib/logstash/api/modules/base.rb +5 -0
- data/lib/logstash/api/modules/node.rb +1 -2
- data/lib/logstash/api/modules/node_stats.rb +1 -2
- data/lib/logstash/codecs/base.rb +29 -1
- data/lib/logstash/config/mixin.rb +1 -1
- data/lib/logstash/environment.rb +5 -5
- data/lib/logstash/filter_delegator.rb +4 -5
- data/lib/logstash/instrument/periodic_poller/jvm.rb +43 -10
- data/lib/logstash/output_delegator.rb +33 -168
- data/lib/logstash/output_delegator_strategies/legacy.rb +29 -0
- data/lib/logstash/output_delegator_strategies/shared.rb +20 -0
- data/lib/logstash/output_delegator_strategies/single.rb +23 -0
- data/lib/logstash/output_delegator_strategy_registry.rb +36 -0
- data/lib/logstash/outputs/base.rb +39 -26
- data/lib/logstash/patches/clamp.rb +6 -0
- data/lib/logstash/pipeline.rb +42 -14
- data/lib/logstash/pipeline_reporter.rb +2 -8
- data/lib/logstash/plugin.rb +6 -10
- data/lib/logstash/runner.rb +12 -9
- data/lib/logstash/settings.rb +124 -21
- data/lib/logstash/util/wrapped_synchronous_queue.rb +17 -1
- data/lib/logstash/version.rb +1 -1
- data/lib/logstash/webserver.rb +44 -33
- data/locales/en.yml +5 -1
- data/logstash-core.gemspec +2 -2
- data/spec/api/lib/api/node_spec.rb +62 -10
- data/spec/api/lib/api/node_stats_spec.rb +16 -3
- data/spec/api/lib/api/support/resource_dsl_methods.rb +11 -1
- data/spec/api/spec_helper.rb +1 -1
- data/spec/conditionals_spec.rb +12 -1
- data/spec/logstash/agent_spec.rb +3 -0
- data/spec/logstash/codecs/base_spec.rb +74 -0
- data/spec/logstash/instrument/periodic_poller/jvm_spec.rb +37 -10
- data/spec/logstash/output_delegator_spec.rb +64 -89
- data/spec/logstash/outputs/base_spec.rb +91 -15
- data/spec/logstash/pipeline_reporter_spec.rb +1 -6
- data/spec/logstash/pipeline_spec.rb +20 -22
- data/spec/logstash/plugin_spec.rb +3 -3
- data/spec/logstash/runner_spec.rb +86 -3
- data/spec/logstash/settings/integer_spec.rb +20 -0
- data/spec/logstash/settings/numeric_spec.rb +28 -0
- data/spec/logstash/settings/port_range_spec.rb +93 -0
- data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +6 -0
- data/spec/logstash/webserver_spec.rb +95 -0
- metadata +20 -6
@@ -49,6 +49,12 @@ describe LogStash::Util::WrappedSynchronousQueue do
|
|
49
49
|
let(:queue) { DummyQueue.new }
|
50
50
|
let(:write_client) { LogStash::Util::WrappedSynchronousQueue::WriteClient.new(queue)}
|
51
51
|
let(:read_client) { LogStash::Util::WrappedSynchronousQueue::ReadClient.new(queue)}
|
52
|
+
|
53
|
+
before :each do
|
54
|
+
read_client.set_events_metric(LogStash::Instrument::NullMetric.new)
|
55
|
+
read_client.set_pipeline_metric(LogStash::Instrument::NullMetric.new)
|
56
|
+
end
|
57
|
+
|
52
58
|
it "appends batches to the queue" do
|
53
59
|
batch = write_client.get_new_batch
|
54
60
|
5.times {|i| batch.push("value-#{i}")}
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# require "logstash/json"
|
3
|
+
require "logstash/webserver"
|
4
|
+
require "socket"
|
5
|
+
require "spec_helper"
|
6
|
+
require "open-uri"
|
7
|
+
|
8
|
+
def block_ports(range)
|
9
|
+
servers = []
|
10
|
+
|
11
|
+
range.each do |port|
|
12
|
+
server = TCPServer.new("localhost", port)
|
13
|
+
Thread.new do
|
14
|
+
client = server.accept rescue nil
|
15
|
+
end
|
16
|
+
servers << server
|
17
|
+
end
|
18
|
+
|
19
|
+
sleep(1)
|
20
|
+
servers
|
21
|
+
end
|
22
|
+
|
23
|
+
def free_ports(servers)
|
24
|
+
servers.each do |t|
|
25
|
+
t.close rescue nil # the threads are blocked just kill
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe LogStash::WebServer do
|
30
|
+
before :all do
|
31
|
+
@abort = Thread.abort_on_exception
|
32
|
+
Thread.abort_on_exception = true
|
33
|
+
end
|
34
|
+
|
35
|
+
after :all do
|
36
|
+
Thread.abort_on_exception = @abort
|
37
|
+
end
|
38
|
+
|
39
|
+
let(:logger) { double("logger") }
|
40
|
+
let(:agent) { double("agent") }
|
41
|
+
let(:webserver) { double("webserver") }
|
42
|
+
|
43
|
+
before :each do
|
44
|
+
[:info, :warn, :error, :fatal, :debug].each do |level|
|
45
|
+
allow(logger).to receive(level)
|
46
|
+
end
|
47
|
+
[:info?, :warn?, :error?, :fatal?, :debug?].each do |level|
|
48
|
+
allow(logger).to receive(level)
|
49
|
+
end
|
50
|
+
|
51
|
+
allow(webserver).to receive(:address).and_return("127.0.0.1")
|
52
|
+
allow(agent).to receive(:webserver).and_return(webserver)
|
53
|
+
end
|
54
|
+
|
55
|
+
context "when the port is already in use and a range is provided" do
|
56
|
+
subject { LogStash::WebServer.new(logger,
|
57
|
+
agent,
|
58
|
+
{ :http_host => "localhost", :http_ports => port_range
|
59
|
+
})}
|
60
|
+
|
61
|
+
let(:port_range) { 10000..10010 }
|
62
|
+
after(:each) { free_ports(@servers) }
|
63
|
+
|
64
|
+
context "when we have available ports" do
|
65
|
+
before(:each) do
|
66
|
+
@servers = block_ports(10000..10005)
|
67
|
+
end
|
68
|
+
|
69
|
+
it "successfully find an available port" do
|
70
|
+
t = Thread.new do
|
71
|
+
subject.run
|
72
|
+
end
|
73
|
+
|
74
|
+
sleep(1)
|
75
|
+
|
76
|
+
response = open("http://localhost:10006").read
|
77
|
+
expect { LogStash::Json.load(response) }.not_to raise_error
|
78
|
+
expect(subject.address).to eq("localhost:10006")
|
79
|
+
|
80
|
+
subject.stop
|
81
|
+
t.kill rescue nil
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
context "when all the ports are taken" do
|
86
|
+
before(:each) do
|
87
|
+
@servers = block_ports(port_range)
|
88
|
+
end
|
89
|
+
|
90
|
+
it "raise an exception" do
|
91
|
+
expect { subject.run }.to raise_error(Errno::EADDRINUSE, /Logstash tried to bind to port range/)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
metadata
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.0.
|
4
|
+
version: 5.0.0.alpha6.snapshot1
|
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-08-22 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: 5.0.0.
|
18
|
+
version: 5.0.0.alpha6.snapshot1
|
19
19
|
name: logstash-core-event-java
|
20
20
|
prerelease: false
|
21
21
|
type: :runtime
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.0.0.
|
26
|
+
version: 5.0.0.alpha6.snapshot1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
@@ -273,7 +273,7 @@ dependencies:
|
|
273
273
|
requirements:
|
274
274
|
- - "~>"
|
275
275
|
- !ruby/object:Gem::Version
|
276
|
-
version: 0.
|
276
|
+
version: 0.4.0
|
277
277
|
name: jrjackson
|
278
278
|
prerelease: false
|
279
279
|
type: :runtime
|
@@ -281,7 +281,7 @@ dependencies:
|
|
281
281
|
requirements:
|
282
282
|
- - "~>"
|
283
283
|
- !ruby/object:Gem::Version
|
284
|
-
version: 0.
|
284
|
+
version: 0.4.0
|
285
285
|
description: The core components of logstash, the scalable log and event management tool
|
286
286
|
email:
|
287
287
|
- info@elastic.co
|
@@ -349,6 +349,10 @@ files:
|
|
349
349
|
- lib/logstash/logging/json.rb
|
350
350
|
- lib/logstash/namespace.rb
|
351
351
|
- lib/logstash/output_delegator.rb
|
352
|
+
- lib/logstash/output_delegator_strategies/legacy.rb
|
353
|
+
- lib/logstash/output_delegator_strategies/shared.rb
|
354
|
+
- lib/logstash/output_delegator_strategies/single.rb
|
355
|
+
- lib/logstash/output_delegator_strategy_registry.rb
|
352
356
|
- lib/logstash/outputs/base.rb
|
353
357
|
- lib/logstash/patches.rb
|
354
358
|
- lib/logstash/patches/bugfix_jruby_2558.rb
|
@@ -398,6 +402,7 @@ files:
|
|
398
402
|
- spec/api/spec_helper.rb
|
399
403
|
- spec/conditionals_spec.rb
|
400
404
|
- spec/logstash/agent_spec.rb
|
405
|
+
- spec/logstash/codecs/base_spec.rb
|
401
406
|
- spec/logstash/config/config_ast_spec.rb
|
402
407
|
- spec/logstash/config/cpu_core_strategy_spec.rb
|
403
408
|
- spec/logstash/config/defaults_spec.rb
|
@@ -427,6 +432,9 @@ files:
|
|
427
432
|
- spec/logstash/plugins/registry_spec.rb
|
428
433
|
- spec/logstash/runner_spec.rb
|
429
434
|
- spec/logstash/setting_spec.rb
|
435
|
+
- spec/logstash/settings/integer_spec.rb
|
436
|
+
- spec/logstash/settings/numeric_spec.rb
|
437
|
+
- spec/logstash/settings/port_range_spec.rb
|
430
438
|
- spec/logstash/settings/string_spec.rb
|
431
439
|
- spec/logstash/settings_spec.rb
|
432
440
|
- spec/logstash/shutdown_watcher_spec.rb
|
@@ -438,6 +446,7 @@ files:
|
|
438
446
|
- spec/logstash/util/unicode_trimmer_spec.rb
|
439
447
|
- spec/logstash/util/wrapped_synchronous_queue_spec.rb
|
440
448
|
- spec/logstash/util_spec.rb
|
449
|
+
- spec/logstash/webserver_spec.rb
|
441
450
|
- spec/static/i18n_spec.rb
|
442
451
|
- spec/support/matchers.rb
|
443
452
|
- spec/support/mocks_classes.rb
|
@@ -478,6 +487,7 @@ test_files:
|
|
478
487
|
- spec/api/spec_helper.rb
|
479
488
|
- spec/conditionals_spec.rb
|
480
489
|
- spec/logstash/agent_spec.rb
|
490
|
+
- spec/logstash/codecs/base_spec.rb
|
481
491
|
- spec/logstash/config/config_ast_spec.rb
|
482
492
|
- spec/logstash/config/cpu_core_strategy_spec.rb
|
483
493
|
- spec/logstash/config/defaults_spec.rb
|
@@ -507,6 +517,9 @@ test_files:
|
|
507
517
|
- spec/logstash/plugins/registry_spec.rb
|
508
518
|
- spec/logstash/runner_spec.rb
|
509
519
|
- spec/logstash/setting_spec.rb
|
520
|
+
- spec/logstash/settings/integer_spec.rb
|
521
|
+
- spec/logstash/settings/numeric_spec.rb
|
522
|
+
- spec/logstash/settings/port_range_spec.rb
|
510
523
|
- spec/logstash/settings/string_spec.rb
|
511
524
|
- spec/logstash/settings_spec.rb
|
512
525
|
- spec/logstash/shutdown_watcher_spec.rb
|
@@ -518,6 +531,7 @@ test_files:
|
|
518
531
|
- spec/logstash/util/unicode_trimmer_spec.rb
|
519
532
|
- spec/logstash/util/wrapped_synchronous_queue_spec.rb
|
520
533
|
- spec/logstash/util_spec.rb
|
534
|
+
- spec/logstash/webserver_spec.rb
|
521
535
|
- spec/static/i18n_spec.rb
|
522
536
|
- spec/support/matchers.rb
|
523
537
|
- spec/support/mocks_classes.rb
|