logstash-core 6.0.1-java → 6.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/gemspec_jars.rb +1 -1
  3. data/lib/logstash-core/logstash-core.jar +0 -0
  4. data/lib/logstash-core/logstash-core.rb +14 -2
  5. data/lib/logstash-core_jars.rb +4 -2
  6. data/lib/logstash/agent.rb +8 -2
  7. data/lib/logstash/api/modules/node.rb +11 -5
  8. data/lib/logstash/api/modules/stats.rb +13 -7
  9. data/lib/logstash/compiler.rb +6 -10
  10. data/lib/logstash/compiler/lscl.rb +10 -1
  11. data/lib/logstash/compiler/lscl/helpers.rb +3 -1
  12. data/lib/logstash/config/mixin.rb +2 -2
  13. data/lib/logstash/environment.rb +1 -6
  14. data/lib/logstash/errors.rb +1 -1
  15. data/lib/logstash/event.rb +0 -2
  16. data/lib/logstash/filter_delegator.rb +1 -2
  17. data/lib/logstash/instrument/metric_type/counter.rb +1 -1
  18. data/lib/logstash/instrument/metric_type/gauge.rb +1 -1
  19. data/lib/logstash/instrument/wrapped_write_client.rb +1 -1
  20. data/lib/logstash/java_filter_delegator.rb +79 -0
  21. data/lib/logstash/java_pipeline.rb +690 -0
  22. data/lib/logstash/json.rb +4 -29
  23. data/lib/logstash/output_delegator.rb +3 -2
  24. data/lib/logstash/patches/bugfix_jruby_2558.rb +1 -1
  25. data/lib/logstash/pipeline.rb +32 -89
  26. data/lib/logstash/pipeline_action/create.rb +8 -2
  27. data/lib/logstash/pipeline_action/reload.rb +6 -1
  28. data/lib/logstash/pipeline_reporter.rb +2 -1
  29. data/lib/logstash/pipeline_settings.rb +1 -0
  30. data/lib/logstash/plugins/plugin_factory.rb +100 -0
  31. data/lib/logstash/plugins/registry.rb +18 -7
  32. data/lib/logstash/queue_factory.rb +3 -1
  33. data/lib/logstash/runner.rb +13 -56
  34. data/lib/logstash/settings.rb +2 -2
  35. data/lib/logstash/timestamp.rb +0 -1
  36. data/lib/logstash/util.rb +13 -21
  37. data/lib/logstash/util/java_version.rb +0 -1
  38. data/lib/logstash/util/settings_helper.rb +79 -0
  39. data/lib/logstash/util/{environment_variables.rb → substitution_variables.rb} +10 -8
  40. data/lib/logstash/util/wrapped_acked_queue.rb +17 -108
  41. data/lib/logstash/util/wrapped_synchronous_queue.rb +38 -178
  42. data/locales/en.yml +2 -0
  43. data/spec/conditionals_spec.rb +235 -80
  44. data/spec/logstash/api/modules/node_spec.rb +11 -0
  45. data/spec/logstash/compiler/compiler_spec.rb +28 -2
  46. data/spec/logstash/environment_spec.rb +0 -5
  47. data/spec/logstash/event_spec.rb +7 -2
  48. data/spec/logstash/filter_delegator_spec.rb +1 -1
  49. data/spec/logstash/filters/base_spec.rb +30 -28
  50. data/spec/logstash/instrument/wrapped_write_client_spec.rb +2 -2
  51. data/spec/logstash/java_filter_delegator_spec.rb +176 -0
  52. data/spec/logstash/java_pipeline_spec.rb +933 -0
  53. data/spec/logstash/json_spec.rb +27 -45
  54. data/spec/logstash/plugins/registry_spec.rb +7 -0
  55. data/spec/logstash/queue_factory_spec.rb +5 -2
  56. data/spec/logstash/settings_spec.rb +1 -1
  57. data/spec/logstash/util/java_version_spec.rb +1 -3
  58. data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +27 -24
  59. data/spec/logstash/webserver_spec.rb +3 -6
  60. data/spec/support/helpers.rb +5 -0
  61. data/spec/support/pipeline/pipeline_helpers.rb +97 -0
  62. data/versions-gem-copy.yml +5 -2
  63. metadata +14 -5
  64. data/lib/logstash/patches/rubygems.rb +0 -38
@@ -33,60 +33,42 @@ describe "LogStash::Json" do
33
33
  ]
34
34
  }
35
35
 
36
- if LogStash::Environment.jruby?
37
-
38
- ### JRuby specific
39
- # Former expectation in this code were removed because of https://github.com/rspec/rspec-mocks/issues/964
40
- # as soon as is fix we can re introduce them if desired, however for now the completeness of the test
41
- # is also not affected as the conversion would not work if the expectation where not meet.
42
- ###
43
- context "jruby deserialize" do
44
- it "should respond to load and deserialize object" do
45
- expect(LogStash::Json.load(json_hash)).to eql(hash)
46
- end
36
+ # Former expectation in this code were removed because of https://github.com/rspec/rspec-mocks/issues/964
37
+ # as soon as is fix we can re introduce them if desired, however for now the completeness of the test
38
+ # is also not affected as the conversion would not work if the expectation where not meet.
39
+ ###
40
+ context "jruby deserialize" do
41
+ it "should respond to load and deserialize object" do
42
+ expect(LogStash::Json.load(json_hash)).to eql(hash)
47
43
  end
44
+ end
48
45
 
49
- context "jruby serialize" do
50
- it "should respond to dump and serialize object" do
51
- expect(LogStash::Json.dump(string)).to eql(json_string)
52
- end
53
-
54
- it "should call JrJackson::Raw.generate for Hash" do
55
- expect(LogStash::Json.dump(hash)).to eql(json_hash)
56
- end
57
-
58
- it "should call JrJackson::Raw.generate for Array" do
59
- expect(LogStash::Json.dump(array)).to eql(json_array)
60
- end
61
-
62
- context "pretty print" do
63
-
64
- let(:hash) { { "foo" => "bar", :zoo => 2 } }
46
+ context "jruby serialize" do
47
+ it "should respond to dump and serialize object" do
48
+ expect(LogStash::Json.dump(string)).to eql(json_string)
49
+ end
65
50
 
66
- it "should serialize with pretty print" do
67
- pprint_json = LogStash::Json.dump(hash, :pretty => true)
68
- expect(pprint_json).to include("\n")
69
- end
51
+ it "should call JrJackson::Raw.generate for Hash" do
52
+ expect(LogStash::Json.dump(hash)).to eql(json_hash)
53
+ end
70
54
 
71
- it "should by default do no pretty print" do
72
- pprint_json = LogStash::Json.dump(hash)
73
- expect(pprint_json).not_to include("\n")
74
- end
75
- end
55
+ it "should call JrJackson::Raw.generate for Array" do
56
+ expect(LogStash::Json.dump(array)).to eql(json_array)
76
57
  end
77
58
 
78
- else
59
+ context "pretty print" do
79
60
 
80
- ### MRI specific
61
+ let(:hash) { { "foo" => "bar", :zoo => 2 } }
81
62
 
82
- it "should respond to load and deserialize object on mri" do
83
- expect(Oj).to receive(:load).with(json).and_call_original
84
- expect(LogStash::Json.load(json)).to eql(hash)
85
- end
63
+ it "should serialize with pretty print" do
64
+ pprint_json = LogStash::Json.dump(hash, :pretty => true)
65
+ expect(pprint_json).to include("\n")
66
+ end
86
67
 
87
- it "should respond to dump and serialize object on mri" do
88
- expect(Oj).to receive(:dump).with(hash, anything).and_call_original
89
- expect(LogStash::Json.dump(hash)).to eql(json)
68
+ it "should by default do no pretty print" do
69
+ pprint_json = LogStash::Json.dump(hash)
70
+ expect(pprint_json).not_to include("\n")
71
+ end
90
72
  end
91
73
  end
92
74
 
@@ -61,6 +61,13 @@ describe LogStash::Plugins::Registry do
61
61
  expect(registry.lookup("filter", "simple_plugin")).to eq(simple_plugin)
62
62
  end
63
63
 
64
+ it "should be possible to remove the plugin" do
65
+ registry.add(:filter, "simple_plugin", simple_plugin)
66
+ expect(registry.lookup("filter", "simple_plugin")).to eq(simple_plugin)
67
+ registry.remove(:filter, "simple_plugin")
68
+ expect { registry.lookup("filter", "simple_plugin") }.to raise_error(LoadError)
69
+ end
70
+
64
71
  it "doesn't add multiple time the same plugin" do
65
72
  plugin1 = Class.new
66
73
  plugin2 = Class.new
@@ -15,7 +15,9 @@ describe LogStash::QueueFactory do
15
15
  LogStash::Setting::Numeric.new("queue.checkpoint.acks", 1024),
16
16
  LogStash::Setting::Numeric.new("queue.checkpoint.writes", 1024),
17
17
  LogStash::Setting::Numeric.new("queue.checkpoint.interval", 1000),
18
- LogStash::Setting::String.new("pipeline.id", pipeline_id)
18
+ LogStash::Setting::String.new("pipeline.id", pipeline_id),
19
+ LogStash::Setting::PositiveInteger.new("pipeline.batch.size", 125),
20
+ LogStash::Setting::PositiveInteger.new("pipeline.workers", LogStash::Config::CpuCoreStrategy.maximum)
19
21
  ]
20
22
  end
21
23
 
@@ -72,9 +74,10 @@ describe LogStash::QueueFactory do
72
74
  context "when `queue.type` is `memory`" do
73
75
  before do
74
76
  settings.set("queue.type", "memory")
77
+ settings.set("pipeline.batch.size", 1024)
75
78
  end
76
79
 
77
- it "returns a `WrappedAckedQueue`" do
80
+ it "returns a `WrappedSynchronousQueue`" do
78
81
  queue = subject.create(settings)
79
82
  expect(queue).to be_kind_of(LogStash::Util::WrappedSynchronousQueue)
80
83
  queue.close
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
- require "logstash/util/environment_variables"
3
+ require "logstash/util/substitution_variables"
4
4
  require "logstash/settings"
5
5
  require "fileutils"
6
6
 
@@ -6,9 +6,7 @@ describe "LogStash::Util::JavaVersion" do
6
6
  subject(:mod) { LogStash::Util::JavaVersion }
7
7
 
8
8
  it "should get the current java version if we're on Java" do
9
- if LogStash::Environment.jruby?
10
- expect(LogStash::Util::JavaVersion.version).to be_a(String)
11
- end
9
+ expect(LogStash::Util::JavaVersion.version).to be_a(String)
12
10
  end
13
11
 
14
12
  it "should mark a bad beta version as bad" do
@@ -5,6 +5,8 @@ require "logstash/instrument/collector"
5
5
 
6
6
  describe LogStash::Util::WrappedSynchronousQueue do
7
7
 
8
+ subject {LogStash::Util::WrappedSynchronousQueue.new(5)}
9
+
8
10
  describe "queue clients" do
9
11
  context "when requesting a write client" do
10
12
  it "returns a client" do
@@ -18,15 +20,9 @@ describe LogStash::Util::WrappedSynchronousQueue do
18
20
  end
19
21
  end
20
22
 
21
- class DummyQueue < Array
22
- def take() shift(); end
23
- def poll(*) shift(); end
24
- end
25
-
26
23
  describe "WriteClient | ReadClient" do
27
- let(:queue) { DummyQueue.new }
28
- let(:write_client) { LogStash::Util::WrappedSynchronousQueue::WriteClient.new(queue)}
29
- let(:read_client) { LogStash::Util::WrappedSynchronousQueue::ReadClient.new(queue)}
24
+ let(:write_client) { subject.write_client }
25
+ let(:read_client) { subject.read_client }
30
26
 
31
27
  context "when reading from the queue" do
32
28
  let(:collector) { LogStash::Instrument::Collector.new }
@@ -64,16 +60,16 @@ describe LogStash::Util::WrappedSynchronousQueue do
64
60
 
65
61
  context "when we have item in the queue" do
66
62
  it "records the `duration_in_millis`" do
67
- batch = write_client.get_new_batch
68
- 5.times {|i| batch.push("value-#{i}")}
63
+ batch = []
64
+ 5.times {|i| batch.push(LogStash::Event.new({"message" => "value-#{i}"}))}
69
65
  write_client.push_batch(batch)
70
66
 
71
67
  read_batch = read_client.read_batch
72
68
  sleep(0.1) # simulate some work for the `duration_in_millis`
73
69
  # TODO: this interaction should be cleaned in an upcoming PR,
74
70
  # This is what the current pipeline does.
75
- read_client.add_filtered_metrics(read_batch)
76
- read_client.add_output_metrics(read_batch)
71
+ read_client.add_filtered_metrics(read_batch.filtered_size)
72
+ read_client.add_output_metrics(read_batch.filtered_size)
77
73
  read_client.close_batch(read_batch)
78
74
  store = collector.snapshot_metric.metric_store
79
75
 
@@ -94,26 +90,33 @@ describe LogStash::Util::WrappedSynchronousQueue do
94
90
  end
95
91
 
96
92
  it "appends batches to the queue" do
97
- batch = write_client.get_new_batch
98
- 5.times {|i| batch.push(LogStash::Event.new({"message" => "value-#{i}"}))}
93
+ batch = []
94
+ messages = []
95
+ 5.times do |i|
96
+ message = "value-#{i}"
97
+ batch.push(LogStash::Event.new({"message" => message}))
98
+ messages << message
99
+ end
99
100
  write_client.push_batch(batch)
100
101
  read_batch = read_client.read_batch
101
102
  expect(read_batch.size).to eq(5)
102
- i = 0
103
- read_batch.each do |data|
104
- expect(data.get("message")).to eq("value-#{i}")
103
+ read_batch.to_a.each do |data|
104
+ message = data.get("message")
105
+ expect(messages).to include(message)
106
+ messages.delete(message)
105
107
  # read_batch.cancel("value-#{i}") if i > 2 # TODO: disabled for https://github.com/elastic/logstash/issues/6055 - will have to properly refactor
106
- data.cancel if i > 2
107
- read_batch.merge(LogStash::Event.new({"message" => "generated-#{i}"})) if i > 2
108
- i += 1
108
+ if message.match /value-[3-4]/
109
+ data.cancel
110
+ read_batch.merge(LogStash::Event.new({ "message" => message.gsub(/value/, 'generated') }))
111
+ end
109
112
  end
110
113
  # expect(read_batch.cancelled_size).to eq(2) # disabled for https://github.com/elastic/logstash/issues/6055
111
- i = 0
114
+ received = []
112
115
  read_batch.each do |data|
113
- expect(data.get("message")).to eq("value-#{i}") if i < 3
114
- expect(data.get("message")).to eq("generated-#{i}") if i > 2
115
- i += 1
116
+ received << data.get("message")
116
117
  end
118
+ (0..2).each {|i| expect(received).to include("value-#{i}")}
119
+ (3..4).each {|i| expect(received).to include("generated-#{i}")}
117
120
  end
118
121
  end
119
122
  end
@@ -13,16 +13,12 @@ def block_ports(range)
13
13
  range.each do |port|
14
14
  begin
15
15
  server = TCPServer.new("localhost", port)
16
- Thread.new do
17
- client = server.accept rescue nil
18
- end
19
16
  servers << server
20
17
  rescue => e
21
18
  # The port can already be taken
22
19
  end
23
20
  end
24
21
 
25
- sleep(1)
26
22
  servers
27
23
  end
28
24
 
@@ -78,7 +74,8 @@ describe LogStash::WebServer do
78
74
  sleep(1)
79
75
 
80
76
  # We cannot use stop here, since the code is stuck in an infinite loop
81
- t.kill rescue nil
77
+ t.kill
78
+ t.join
82
79
 
83
80
  silence_warnings do
84
81
  STDERR = backup_stderr
@@ -107,7 +104,7 @@ describe LogStash::WebServer do
107
104
  expect(subject.address).to eq("localhost:10006")
108
105
 
109
106
  subject.stop
110
- t.kill rescue nil
107
+ t.join
111
108
  end
112
109
  end
113
110
 
@@ -54,6 +54,11 @@ def mock_pipeline_from_string(config_string, settings = LogStash::SETTINGS, metr
54
54
  LogStash::Pipeline.new(pipeline_config, metric)
55
55
  end
56
56
 
57
+ def mock_java_pipeline_from_string(config_string, settings = LogStash::SETTINGS, metric = nil)
58
+ pipeline_config = mock_pipeline_config(settings.get("pipeline.id"), config_string, settings)
59
+ LogStash::JavaPipeline.new(pipeline_config, metric)
60
+ end
61
+
57
62
  def mock_pipeline_config(pipeline_id, config_string = nil, settings = {})
58
63
  config_string = "input { stdin { id => '#{pipeline_id}' }}" if config_string.nil?
59
64
 
@@ -0,0 +1,97 @@
1
+ require "logstash/agent"
2
+ require "logstash/java_pipeline"
3
+ require "logstash/event"
4
+ require "stud/try"
5
+ require "rspec/expectations"
6
+ require "thread"
7
+
8
+ java_import org.logstash.common.SourceWithMetadata
9
+
10
+ module PipelineHelpers
11
+
12
+ class SpecSamplerInput < LogStash::Inputs::Base
13
+ config_name "spec_sampler_input"
14
+
15
+ def register
16
+ end
17
+
18
+ def run(queue)
19
+ unless @@event.nil?
20
+ queue.push_batch(@@event)
21
+ @@event = nil
22
+ end
23
+ end
24
+
25
+ def close
26
+ @@event = nil
27
+ end
28
+
29
+ def self.set_event(event)
30
+ @@event = event
31
+ end
32
+ end
33
+
34
+ class SpecSamplerOutput < LogStash::Outputs::Base
35
+ config_name "spec_sampler_output"
36
+
37
+ def register
38
+ @@seen = []
39
+ end
40
+
41
+ def multi_receive(events)
42
+ @@seen += events
43
+ end
44
+
45
+ def self.seen
46
+ @@seen
47
+ end
48
+ end
49
+
50
+ def sample_one(sample_event, &block)
51
+ name = sample_event.is_a?(String) ? sample_event : LogStash::Json.dump(sample_event)
52
+ name = name[0..50] + "..." if name.length > 50
53
+
54
+ before do
55
+ LogStash::PLUGIN_REGISTRY.add(:input, "spec_sampler_input", SpecSamplerInput)
56
+ LogStash::PLUGIN_REGISTRY.add(:output, "spec_sampler_output", SpecSamplerOutput)
57
+ end
58
+
59
+ describe "\"#{name}\"" do
60
+ let(:pipeline) do
61
+ settings = ::LogStash::SETTINGS.clone
62
+ settings.set_value("queue.drain", true)
63
+ settings.set_value("pipeline.workers", 1)
64
+ LogStash::JavaPipeline.new(
65
+ LogStash::Config::PipelineConfig.new(
66
+ LogStash::Config::Source::Local, :main,
67
+ SourceWithMetadata.new(
68
+ "config_string", "config_string",
69
+ "input { spec_sampler_input {} }\n" + config + "\noutput { spec_sampler_output {} }"
70
+ ), settings
71
+ )
72
+ )
73
+ end
74
+ let(:event) do
75
+ sample_event = [sample_event] unless sample_event.is_a?(Array)
76
+ next sample_event.collect do |e|
77
+ e = { "message" => e } if e.is_a?(String)
78
+ next LogStash::Event.new(e)
79
+ end
80
+ end
81
+
82
+ let(:results) do
83
+ SpecSamplerInput.set_event event
84
+ pipeline.run
85
+ SpecSamplerOutput.seen
86
+ end
87
+
88
+ after do
89
+ pipeline.close
90
+ end
91
+
92
+ subject {results.length > 1 ? results : results.first}
93
+
94
+ it("when processed", &block)
95
+ end
96
+ end
97
+ end
@@ -1,7 +1,10 @@
1
1
  ---
2
- logstash: 6.0.1
3
- logstash-core: 6.0.1
2
+ logstash: 6.1.0
3
+ logstash-core: 6.1.0
4
4
  logstash-core-plugin-api: 2.1.16
5
+
6
+ # jruby must reference a *released* version of jruby which can be downloaded from the official download url
7
+ # *and* for which jars artifacts are published for compile-time
5
8
  jruby:
6
9
  version: 9.1.13.0
7
10
  sha1: 815bac27d5daa1459a4477d6d80584f007ce6a68
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.1
4
+ version: 6.1.0
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-04 00:00:00.000000000 Z
11
+ date: 2017-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -417,7 +417,9 @@ files:
417
417
  - lib/logstash/instrument/periodic_pollers.rb
418
418
  - lib/logstash/instrument/snapshot.rb
419
419
  - lib/logstash/instrument/wrapped_write_client.rb
420
+ - lib/logstash/java_filter_delegator.rb
420
421
  - lib/logstash/java_integration.rb
422
+ - lib/logstash/java_pipeline.rb
421
423
  - lib/logstash/json.rb
422
424
  - lib/logstash/logging.rb
423
425
  - lib/logstash/logging/json.rb
@@ -453,7 +455,6 @@ files:
453
455
  - lib/logstash/patches/exception_to_json.rb
454
456
  - lib/logstash/patches/profile_require_calls.rb
455
457
  - lib/logstash/patches/puma.rb
456
- - lib/logstash/patches/rubygems.rb
457
458
  - lib/logstash/patches/stronger_openssl_defaults.rb
458
459
  - lib/logstash/pipeline.rb
459
460
  - lib/logstash/pipeline_action.rb
@@ -465,6 +466,7 @@ files:
465
466
  - lib/logstash/pipeline_settings.rb
466
467
  - lib/logstash/plugin.rb
467
468
  - lib/logstash/plugins/hooks_registry.rb
469
+ - lib/logstash/plugins/plugin_factory.rb
468
470
  - lib/logstash/plugins/registry.rb
469
471
  - lib/logstash/queue_factory.rb
470
472
  - lib/logstash/runner.rb
@@ -482,7 +484,6 @@ files:
482
484
  - lib/logstash/util/dead_letter_queue_manager.rb
483
485
  - lib/logstash/util/decorators.rb
484
486
  - lib/logstash/util/duration_formatter.rb
485
- - lib/logstash/util/environment_variables.rb
486
487
  - lib/logstash/util/filetools.rb
487
488
  - lib/logstash/util/java_version.rb
488
489
  - lib/logstash/util/loggable.rb
@@ -492,7 +493,9 @@ files:
492
493
  - lib/logstash/util/prctl.rb
493
494
  - lib/logstash/util/retryable.rb
494
495
  - lib/logstash/util/safe_uri.rb
496
+ - lib/logstash/util/settings_helper.rb
495
497
  - lib/logstash/util/socket_peer.rb
498
+ - lib/logstash/util/substitution_variables.rb
496
499
  - lib/logstash/util/thread_dump.rb
497
500
  - lib/logstash/util/time_value.rb
498
501
  - lib/logstash/util/unicode_trimmer.rb
@@ -551,7 +554,9 @@ files:
551
554
  - spec/logstash/instrument/periodic_poller/load_average_spec.rb
552
555
  - spec/logstash/instrument/periodic_poller/os_spec.rb
553
556
  - spec/logstash/instrument/wrapped_write_client_spec.rb
557
+ - spec/logstash/java_filter_delegator_spec.rb
554
558
  - spec/logstash/java_integration_spec.rb
559
+ - spec/logstash/java_pipeline_spec.rb
555
560
  - spec/logstash/json_spec.rb
556
561
  - spec/logstash/legacy_ruby_event_spec.rb
557
562
  - spec/logstash/legacy_ruby_timestamp_spec.rb
@@ -609,6 +614,7 @@ files:
609
614
  - spec/support/helpers.rb
610
615
  - spec/support/matchers.rb
611
616
  - spec/support/mocks_classes.rb
617
+ - spec/support/pipeline/pipeline_helpers.rb
612
618
  - spec/support/shared_contexts.rb
613
619
  - spec/support/shared_examples.rb
614
620
  - versions-gem-copy.yml
@@ -637,7 +643,7 @@ requirements:
637
643
  - jar com.fasterxml.jackson.core:jackson-core, 2.9.1
638
644
  - jar com.fasterxml.jackson.core:jackson-databind, 2.9.1
639
645
  - jar com.fasterxml.jackson.core:jackson-annotations, 2.9.1
640
- - jar com.fasterxml.jackson.module:jackson-module-afterburner, 2.9.1
646
+ - jar org.codehaus.janino:janino, 3.0.7
641
647
  - jar com.fasterxml.jackson.dataformat:jackson-dataformat-cbor, 2.9.1
642
648
  rubyforge_project:
643
649
  rubygems_version: 2.6.13
@@ -693,7 +699,9 @@ test_files:
693
699
  - spec/logstash/instrument/periodic_poller/load_average_spec.rb
694
700
  - spec/logstash/instrument/periodic_poller/os_spec.rb
695
701
  - spec/logstash/instrument/wrapped_write_client_spec.rb
702
+ - spec/logstash/java_filter_delegator_spec.rb
696
703
  - spec/logstash/java_integration_spec.rb
704
+ - spec/logstash/java_pipeline_spec.rb
697
705
  - spec/logstash/json_spec.rb
698
706
  - spec/logstash/legacy_ruby_event_spec.rb
699
707
  - spec/logstash/legacy_ruby_timestamp_spec.rb
@@ -751,5 +759,6 @@ test_files:
751
759
  - spec/support/helpers.rb
752
760
  - spec/support/matchers.rb
753
761
  - spec/support/mocks_classes.rb
762
+ - spec/support/pipeline/pipeline_helpers.rb
754
763
  - spec/support/shared_contexts.rb
755
764
  - spec/support/shared_examples.rb