logstash-core 6.6.2-java → 6.7.0-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/logstash/agent.rb +16 -9
- data/lib/logstash/compiler/lscl.rb +2 -3
- data/lib/logstash/instrument/metric_store.rb +1 -1
- data/lib/logstash/java_pipeline.rb +13 -8
- data/lib/logstash/patches/resolv.rb +0 -21
- data/lib/logstash/pipeline.rb +1 -1
- data/lib/logstash/runner.rb +22 -0
- data/lib/logstash/settings.rb +5 -5
- data/lib/logstash/util.rb +11 -1
- data/lib/logstash/util/duration_formatter.rb +1 -1
- data/spec/logstash/config/mixin_spec.rb +1 -0
- data/spec/logstash/event_spec.rb +2 -2
- data/spec/logstash/filters/base_spec.rb +14 -0
- data/spec/logstash/legacy_ruby_event_spec.rb +6 -5
- data/spec/logstash/queue_factory_spec.rb +1 -1
- data/spec/logstash/settings/array_coercible_spec.rb +1 -1
- data/spec/logstash/settings/bytes_spec.rb +2 -2
- data/spec/logstash/settings/port_range_spec.rb +1 -1
- data/spec/logstash/util/time_value_spec.rb +1 -1
- data/versions-gem-copy.yml +8 -8
- metadata +24 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d66a9d2f5580d1919c066f11a86cd018a03294e15cfa1913e2e1f2f3cda1fb3e
|
4
|
+
data.tar.gz: 6618994f401fbacb271f55c39f9774ed54a3ac05098f9e70d174455772ece81b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f8120ccc57810e81ea82678d66145d71333d519bd0acaffc5956c62854e13f88ac35fa941e86db30c94afae82a5b6e2100521926cf80b7aba74dbef244cb84e
|
7
|
+
data.tar.gz: 4bb47679f660649b448a74d942886b0a9994c2527eb183b0f7cab470ac23d49341219e6d404e0f7afba20fceeb94670b230cf3523195235ee1b475614ec83b4a
|
data/lib/logstash/agent.rb
CHANGED
@@ -39,6 +39,8 @@ class LogStash::Agent
|
|
39
39
|
@exclusive_lock = Mutex.new
|
40
40
|
@webserver_control_lock = Mutex.new
|
41
41
|
|
42
|
+
@convergence_lock = Mutex.new
|
43
|
+
|
42
44
|
# Special bus object for inter-pipelines communications. Used by the `pipeline` input/output
|
43
45
|
@pipeline_bus = org.logstash.plugins.pipeline.PipelineBus.new
|
44
46
|
|
@@ -163,12 +165,7 @@ class LogStash::Agent
|
|
163
165
|
end
|
164
166
|
end
|
165
167
|
|
166
|
-
|
167
|
-
# content of it.
|
168
|
-
converge_result = nil
|
169
|
-
|
170
|
-
pipeline_actions = resolve_actions(results.response)
|
171
|
-
converge_result = converge_state(pipeline_actions)
|
168
|
+
converge_result = resolve_actions_and_converge_state(results.response)
|
172
169
|
update_metrics(converge_result)
|
173
170
|
|
174
171
|
logger.info(
|
@@ -187,7 +184,7 @@ class LogStash::Agent
|
|
187
184
|
|
188
185
|
# Calculate the Logstash uptime in milliseconds
|
189
186
|
#
|
190
|
-
# @return [
|
187
|
+
# @return [Integer] Uptime in milliseconds
|
191
188
|
def uptime
|
192
189
|
((Time.now.to_f - STARTED_AT.to_f) * 1000.0).to_i
|
193
190
|
end
|
@@ -292,6 +289,15 @@ class LogStash::Agent
|
|
292
289
|
@running.make_true
|
293
290
|
end
|
294
291
|
|
292
|
+
# @param pipeline_configs [Array<Config::PipelineConfig>]
|
293
|
+
# @return [ConvergeResult]
|
294
|
+
def resolve_actions_and_converge_state(pipeline_configs)
|
295
|
+
@convergence_lock.synchronize do
|
296
|
+
pipeline_actions = resolve_actions(pipeline_configs)
|
297
|
+
converge_state(pipeline_actions)
|
298
|
+
end
|
299
|
+
end
|
300
|
+
|
295
301
|
# We depends on a series of task derived from the internal state and what
|
296
302
|
# need to be run, theses actions are applied to the current pipelines to converge to
|
297
303
|
# the desired state.
|
@@ -304,6 +310,7 @@ class LogStash::Agent
|
|
304
310
|
#
|
305
311
|
def converge_state(pipeline_actions)
|
306
312
|
logger.debug("Converging pipelines state", :actions_count => pipeline_actions.size)
|
313
|
+
fail("Illegal access to `LogStash::Agent#converge_state()` without exclusive lock at #{caller[1]}") unless @convergence_lock.owned?
|
307
314
|
|
308
315
|
converge_result = LogStash::ConvergeResult.new(pipeline_actions.size)
|
309
316
|
|
@@ -352,6 +359,7 @@ class LogStash::Agent
|
|
352
359
|
end
|
353
360
|
|
354
361
|
def resolve_actions(pipeline_configs)
|
362
|
+
fail("Illegal access to `LogStash::Agent#resolve_actions()` without exclusive lock at #{caller[1]}") unless @convergence_lock.owned?
|
355
363
|
@state_resolver.resolve(@pipelines_registry, pipeline_configs)
|
356
364
|
end
|
357
365
|
|
@@ -419,8 +427,7 @@ class LogStash::Agent
|
|
419
427
|
# In this context I could just call shutdown, but I've decided to
|
420
428
|
# use the stop action implementation for that so we have the same code.
|
421
429
|
# This also give us some context into why a shutdown is failing
|
422
|
-
|
423
|
-
converge_state(pipeline_actions)
|
430
|
+
resolve_actions_and_converge_state([]) # We stop all the pipeline, so we converge to a empty state
|
424
431
|
end
|
425
432
|
|
426
433
|
|
@@ -317,10 +317,9 @@ module LogStashCompilerLSCLGrammar; module LogStash; module Compiler; module LSC
|
|
317
317
|
|
318
318
|
def precedence(op)
|
319
319
|
# Believe this is right for logstash?
|
320
|
-
|
321
|
-
when AND_METHOD
|
320
|
+
if op == AND_METHOD
|
322
321
|
2
|
323
|
-
|
322
|
+
elsif op == OR_METHOD
|
324
323
|
1
|
325
324
|
else
|
326
325
|
raise ArgumentError, "Unexpected operator #{op}"
|
@@ -302,7 +302,7 @@ module LogStash module Instrument
|
|
302
302
|
#
|
303
303
|
# @param [Concurrent::Map] Map to search for the key
|
304
304
|
# @param [Array] List of path to create
|
305
|
-
# @param [
|
305
|
+
# @param [Integer] Which part from the list to create
|
306
306
|
#
|
307
307
|
def fetch_or_store_namespace_recursively(map, namespaces_path, idx = 0)
|
308
308
|
current = namespaces_path[idx]
|
@@ -26,8 +26,6 @@ module LogStash; class JavaPipeline < JavaBasePipeline
|
|
26
26
|
|
27
27
|
@worker_threads = []
|
28
28
|
|
29
|
-
@java_inputs_controller = org.logstash.execution.InputsController.new(lir_execution.javaInputs)
|
30
|
-
|
31
29
|
@drain_queue = settings.get_value("queue.drain") || settings.get("queue.type") == "memory"
|
32
30
|
|
33
31
|
@events_filtered = java.util.concurrent.atomic.LongAdder.new
|
@@ -259,8 +257,13 @@ module LogStash; class JavaPipeline < JavaBasePipeline
|
|
259
257
|
end
|
260
258
|
|
261
259
|
def wait_inputs
|
262
|
-
@input_threads.each
|
263
|
-
|
260
|
+
@input_threads.each do |thread|
|
261
|
+
if thread.class == Java::JavaObject
|
262
|
+
thread.to_java.join
|
263
|
+
else
|
264
|
+
thread.join
|
265
|
+
end
|
266
|
+
end
|
264
267
|
end
|
265
268
|
|
266
269
|
def start_inputs
|
@@ -279,11 +282,14 @@ module LogStash; class JavaPipeline < JavaBasePipeline
|
|
279
282
|
|
280
283
|
# then after all input plugins are successfully registered, start them
|
281
284
|
inputs.each { |input| start_input(input) }
|
282
|
-
@java_inputs_controller.startInputs(self)
|
283
285
|
end
|
284
286
|
|
285
287
|
def start_input(plugin)
|
286
|
-
|
288
|
+
if plugin.class == LogStash::JavaInputDelegator
|
289
|
+
@input_threads << plugin.start
|
290
|
+
else
|
291
|
+
@input_threads << Thread.new { inputworker(plugin) }
|
292
|
+
end
|
287
293
|
end
|
288
294
|
|
289
295
|
def inputworker(plugin)
|
@@ -345,7 +351,6 @@ module LogStash; class JavaPipeline < JavaBasePipeline
|
|
345
351
|
def stop_inputs
|
346
352
|
@logger.debug("Closing inputs", default_logging_keys)
|
347
353
|
inputs.each(&:do_stop)
|
348
|
-
@java_inputs_controller.stopInputs
|
349
354
|
@logger.debug("Closed inputs", default_logging_keys)
|
350
355
|
end
|
351
356
|
|
@@ -394,7 +399,7 @@ module LogStash; class JavaPipeline < JavaBasePipeline
|
|
394
399
|
end
|
395
400
|
|
396
401
|
def plugin_threads_info
|
397
|
-
input_threads = @input_threads.select {|t| t.alive? }
|
402
|
+
input_threads = @input_threads.select {|t| t.class == Thread && t.alive? }
|
398
403
|
worker_threads = @worker_threads.select {|t| t.alive? }
|
399
404
|
(input_threads + worker_threads).map {|t| Util.thread_info(t) }
|
400
405
|
end
|
@@ -10,7 +10,6 @@ require "resolv"
|
|
10
10
|
|
11
11
|
# make sure we abort if a known correct JRuby version is installed
|
12
12
|
# to avoid having an unnecessary legacy patch being applied in the future.
|
13
|
-
raise("Unnecessary patch on resolv.rb for JRuby version 9.1.16+") if Gem::Version.new(JRUBY_VERSION) >= Gem::Version.new("9.1.16.0")
|
14
13
|
|
15
14
|
# The code below is copied from JRuby 9.1.16.0 resolv.rb:
|
16
15
|
# https://github.com/jruby/jruby/blob/9.1.16.0/lib/ruby/stdlib/resolv.rb#L775-L784
|
@@ -18,23 +17,3 @@ raise("Unnecessary patch on resolv.rb for JRuby version 9.1.16+") if Gem::Versio
|
|
18
17
|
# JRuby is Copyright (c) 2007-2017 The JRuby project, and is released
|
19
18
|
# under a tri EPL/GPL/LGPL license.
|
20
19
|
# Full license available at https://github.com/jruby/jruby/blob/9.1.16.0/COPYING
|
21
|
-
|
22
|
-
class Resolv
|
23
|
-
class DNS
|
24
|
-
class Requester
|
25
|
-
class UnconnectedUDP
|
26
|
-
def sender(msg, data, host, port=Port)
|
27
|
-
sock = @socks_hash[host.index(':') ? "::" : "0.0.0.0"]
|
28
|
-
return nil if !sock
|
29
|
-
service = [IPAddr.new(host), port]
|
30
|
-
id = DNS.allocate_request_id(service[0], service[1])
|
31
|
-
request = msg.encode
|
32
|
-
request[0,2] = [id].pack('n')
|
33
|
-
return @senders[[service, id]] =
|
34
|
-
Sender.new(request, data, sock, host, port)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
data/lib/logstash/pipeline.rb
CHANGED
@@ -542,7 +542,7 @@ module LogStash; class Pipeline < BasePipeline
|
|
542
542
|
|
543
543
|
# Calculate the uptime in milliseconds
|
544
544
|
#
|
545
|
-
# @return [
|
545
|
+
# @return [Integer] Uptime in milliseconds, 0 if the pipeline is not started
|
546
546
|
def uptime
|
547
547
|
return 0 if started_at.nil?
|
548
548
|
((Time.now.to_f - started_at.to_f) * 1000.0).to_i
|
data/lib/logstash/runner.rb
CHANGED
@@ -276,6 +276,17 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
276
276
|
LogStash::PLUGIN_REGISTRY.hooks.register_emitter(self.class, @dispatcher)
|
277
277
|
|
278
278
|
@settings.validate_all
|
279
|
+
|
280
|
+
if @settings.registered?("xpack.monitoring.enabled")
|
281
|
+
verify_deprecated_setting("xpack.monitoring.elasticsearch.url", "xpack.monitoring.elasticsearch.hosts")
|
282
|
+
verify_deprecated_setting("xpack.monitoring.elasticsearch.ssl.ca", "xpack.monitoring.elasticsearch.ssl.certificate_authority")
|
283
|
+
end
|
284
|
+
|
285
|
+
if @settings.registered?("xpack.management.enabled")
|
286
|
+
verify_deprecated_setting("xpack.management.elasticsearch.url", "xpack.management.elasticsearch.hosts")
|
287
|
+
verify_deprecated_setting("xpack.management.elasticsearch.ssl.ca", "xpack.management.elasticsearch.ssl.certificate_authority")
|
288
|
+
end
|
289
|
+
|
279
290
|
@dispatcher.fire(:before_bootstrap_checks)
|
280
291
|
|
281
292
|
return start_shell(setting("interactive"), binding) if setting("interactive")
|
@@ -501,4 +512,15 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
501
512
|
@settings.get_value(key)
|
502
513
|
end
|
503
514
|
|
515
|
+
def verify_deprecated_setting(old_setting, new_setting)
|
516
|
+
if @settings.set?(old_setting)
|
517
|
+
logger.warn("Deprecated setting `#{old_setting}` please use `#{new_setting}`")
|
518
|
+
if @settings.set?(new_setting)
|
519
|
+
signal_usage_error("Both `#{new_setting}` and the deprecated `#{old_setting}` settings are set, please remove `#{old_setting}`")
|
520
|
+
else
|
521
|
+
@settings.set_value(new_setting, @settings.get_value(old_setting))
|
522
|
+
end
|
523
|
+
end
|
524
|
+
end
|
525
|
+
|
504
526
|
end
|
data/lib/logstash/settings.rb
CHANGED
@@ -368,7 +368,7 @@ module LogStash
|
|
368
368
|
case value
|
369
369
|
when ::Range
|
370
370
|
value
|
371
|
-
when ::
|
371
|
+
when ::Integer
|
372
372
|
value..value
|
373
373
|
when ::String
|
374
374
|
first, last = value.split(PORT_SEPARATOR)
|
@@ -481,11 +481,11 @@ module LogStash
|
|
481
481
|
|
482
482
|
class Bytes < Coercible
|
483
483
|
def initialize(name, default=nil, strict=true)
|
484
|
-
super(name, ::
|
484
|
+
super(name, ::Integer, default, strict=true) { |value| valid?(value) }
|
485
485
|
end
|
486
486
|
|
487
487
|
def valid?(value)
|
488
|
-
value.is_a?(
|
488
|
+
value.is_a?(::Integer) && value >= 0
|
489
489
|
end
|
490
490
|
|
491
491
|
def coerce(value)
|
@@ -508,11 +508,11 @@ module LogStash
|
|
508
508
|
|
509
509
|
class TimeValue < Coercible
|
510
510
|
def initialize(name, default, strict=true, &validator_proc)
|
511
|
-
super(name, ::
|
511
|
+
super(name, ::Integer, default, strict, &validator_proc)
|
512
512
|
end
|
513
513
|
|
514
514
|
def coerce(value)
|
515
|
-
return value if value.is_a?(::
|
515
|
+
return value if value.is_a?(::Integer)
|
516
516
|
Util::TimeValue.from_value(value).to_nanos
|
517
517
|
end
|
518
518
|
end
|
data/lib/logstash/util.rb
CHANGED
@@ -9,6 +9,8 @@ module LogStash::Util
|
|
9
9
|
|
10
10
|
PR_SET_NAME = 15
|
11
11
|
def self.set_thread_name(name)
|
12
|
+
previous_name = Java::java.lang.Thread.currentThread.getName() if block_given?
|
13
|
+
|
12
14
|
if RUBY_ENGINE == "jruby"
|
13
15
|
# Keep java and ruby thread names in sync.
|
14
16
|
Java::java.lang.Thread.currentThread.setName(name)
|
@@ -21,6 +23,14 @@ module LogStash::Util
|
|
21
23
|
# since MRI 1.9, JRuby, and Rubinius use system threads for this.
|
22
24
|
LibC.prctl(PR_SET_NAME, name[0..16], 0, 0, 0)
|
23
25
|
end
|
26
|
+
|
27
|
+
if block_given?
|
28
|
+
begin
|
29
|
+
yield
|
30
|
+
ensure
|
31
|
+
set_thread_name(previous_name)
|
32
|
+
end
|
33
|
+
end
|
24
34
|
end # def set_thread_name
|
25
35
|
|
26
36
|
def self.set_thread_plugin(plugin)
|
@@ -191,7 +201,7 @@ module LogStash::Util
|
|
191
201
|
o.inject({}) {|h, (k,v)| h[k] = deep_clone(v); h }
|
192
202
|
when Array
|
193
203
|
o.map {|v| deep_clone(v) }
|
194
|
-
when
|
204
|
+
when Integer, Symbol, IO, TrueClass, FalseClass, NilClass
|
195
205
|
o
|
196
206
|
when LogStash::Codecs::Base
|
197
207
|
o.clone
|
@@ -7,7 +7,7 @@ module LogStash::Util::DurationFormatter
|
|
7
7
|
# a format that a human can understand. This is currently used by
|
8
8
|
# the API.
|
9
9
|
#
|
10
|
-
# @param [
|
10
|
+
# @param [Integer] Duration in milliseconds
|
11
11
|
# @return [String] Duration in human format
|
12
12
|
def self.human_format(duration)
|
13
13
|
ChronicDuration.output(duration / 1000, CHRONIC_OPTIONS)
|
@@ -419,6 +419,7 @@ describe LogStash::Config::Mixin do
|
|
419
419
|
end
|
420
420
|
|
421
421
|
it "should use the value in the variable" do
|
422
|
+
skip("This test fails on Windows, tracked in https://github.com/elastic/logstash/issues/10454")
|
422
423
|
expect(subject.oneString).to(be == "fancy")
|
423
424
|
expect(subject.oneBoolean).to(be_truthy)
|
424
425
|
expect(subject.oneArray).to(be == [ "first array value", "fancy" ])
|
data/spec/logstash/event_spec.rb
CHANGED
@@ -141,10 +141,10 @@ describe LogStash::Event do
|
|
141
141
|
expect(e.get("foo")).to eq(BigDecimal.new(1))
|
142
142
|
end
|
143
143
|
|
144
|
-
it "should set
|
144
|
+
it "should set RubyInteger" do
|
145
145
|
e = LogStash::Event.new()
|
146
146
|
e.set("[foo]", -9223372036854776000)
|
147
|
-
expect(e.get("foo")).to be_kind_of(
|
147
|
+
expect(e.get("foo")).to be_kind_of(Integer)
|
148
148
|
expect(e.get("foo")).to eq(-9223372036854776000)
|
149
149
|
end
|
150
150
|
|
@@ -309,4 +309,18 @@ describe LogStash::Filters::NOOP do
|
|
309
309
|
reject { subject }.include?("go")
|
310
310
|
end
|
311
311
|
end
|
312
|
+
|
313
|
+
describe "when metrics are disabled" do
|
314
|
+
describe "An error should not be raised, and the event should be processed" do
|
315
|
+
config <<-CONFIG
|
316
|
+
filter {
|
317
|
+
noop { enable_metric => false }
|
318
|
+
}
|
319
|
+
CONFIG
|
320
|
+
|
321
|
+
sample_one("type" => "noop", "tags" => ["go"]) do
|
322
|
+
expect(subject.get("tags")).to eq(["go"])
|
323
|
+
end
|
324
|
+
end
|
325
|
+
end
|
312
326
|
end
|
@@ -82,7 +82,7 @@ describe LogStash::Event do
|
|
82
82
|
expect(event.get("reference_test")).not_to eq(data)
|
83
83
|
end
|
84
84
|
|
85
|
-
it "should not return
|
85
|
+
it "should not return an Integer reference" do
|
86
86
|
data = 1
|
87
87
|
event = LogStash::Event.new({ "reference" => data })
|
88
88
|
LogStash::Util::Decorators.add_fields({"reference_test" => "%{reference}"}, event, "dummy-plugin")
|
@@ -98,11 +98,12 @@ describe LogStash::Event do
|
|
98
98
|
expect(subject.sprintf("bonjour")).to eq("bonjour")
|
99
99
|
end
|
100
100
|
|
101
|
-
it "should raise error
|
101
|
+
it "should not raise error and should format as empty string when @timestamp field is missing" do
|
102
102
|
str = "hello-%{+%s}"
|
103
103
|
subj = subject.clone
|
104
104
|
subj.remove("[@timestamp]")
|
105
|
-
expect{ subj.sprintf(str) }.
|
105
|
+
expect{ subj.sprintf(str) }.not_to raise_error(LogStash::Error)
|
106
|
+
expect(subj.sprintf(str)).to eq("hello-")
|
106
107
|
end
|
107
108
|
|
108
109
|
it "should report a time with %{+format} syntax", :if => RUBY_ENGINE == "jruby" do
|
@@ -115,11 +116,11 @@ describe LogStash::Event do
|
|
115
116
|
expect(subject.sprintf("foo %{+YYYY-MM-dd} %{type}")).to eq("foo 2013-01-01 sprintf")
|
116
117
|
end
|
117
118
|
|
118
|
-
it "should raise error with %{+format} syntax when @timestamp field is missing", :if => RUBY_ENGINE == "jruby" do
|
119
|
+
it "should not raise error with %{+format} syntax when @timestamp field is missing", :if => RUBY_ENGINE == "jruby" do
|
119
120
|
str = "logstash-%{+YYYY}"
|
120
121
|
subj = subject.clone
|
121
122
|
subj.remove("[@timestamp]")
|
122
|
-
expect{ subj.sprintf(str) }.
|
123
|
+
expect{ subj.sprintf(str) }.not_to raise_error(LogStash::Error)
|
123
124
|
end
|
124
125
|
|
125
126
|
it "should report fields with %{field} syntax" do
|
@@ -47,7 +47,7 @@ describe LogStash::QueueFactory do
|
|
47
47
|
let(:queue_path) { ::File.join(settings.get("path.queue"), pipeline_id) }
|
48
48
|
|
49
49
|
after :each do
|
50
|
-
FileUtils.
|
50
|
+
FileUtils.rm_rf(queue_path)
|
51
51
|
end
|
52
52
|
|
53
53
|
it "creates a queue directory based on the pipeline id" do
|
@@ -27,7 +27,7 @@ describe LogStash::Setting::ArrayCoercible do
|
|
27
27
|
|
28
28
|
describe "initialization" do
|
29
29
|
subject { described_class }
|
30
|
-
let(:element_class) {
|
30
|
+
let(:element_class) { Integer }
|
31
31
|
context "when given values of incorrect element class" do
|
32
32
|
let(:value) { "test" }
|
33
33
|
|
@@ -35,8 +35,8 @@ describe LogStash::Setting::Bytes do
|
|
35
35
|
|
36
36
|
before { subject.set(text) }
|
37
37
|
|
38
|
-
it "should coerce it to
|
39
|
-
expect(subject.value).to be_a(
|
38
|
+
it "should coerce it to an Integer" do
|
39
|
+
expect(subject.value).to be_a(::Integer)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -51,7 +51,7 @@ describe TimeValue do
|
|
51
51
|
a = TimeValue.from_value(32)
|
52
52
|
fail "should not parse"
|
53
53
|
rescue ArgumentError => e
|
54
|
-
expect(e.message).to eq("value is not a string: 32 [
|
54
|
+
expect(e.message).to eq("value is not a string: 32 [Integer]")
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
data/versions-gem-copy.yml
CHANGED
@@ -1,26 +1,26 @@
|
|
1
1
|
---
|
2
|
-
logstash: 6.
|
3
|
-
logstash-core: 6.
|
2
|
+
logstash: 6.7.0
|
3
|
+
logstash-core: 6.7.0
|
4
4
|
logstash-core-plugin-api: 2.1.16
|
5
5
|
|
6
6
|
# jruby must reference a *released* version of jruby which can be downloaded from the official download url
|
7
7
|
# *and* for which jars artifacts are published for compile-time
|
8
8
|
jruby:
|
9
|
-
version: 9.
|
10
|
-
sha1:
|
9
|
+
version: 9.2.6.0
|
10
|
+
sha1: 3c13ec3966f6cc44966f3978c96325b9e56174f1
|
11
11
|
|
12
12
|
# jruby-runtime-override, if specified, will override the jruby version installed in vendor/jruby for logstash runtime only,
|
13
13
|
# not for the compile-time jars
|
14
14
|
#
|
15
15
|
#jruby-runtime-override:
|
16
|
-
# url: http://ci.jruby.org/snapshots/previous/jruby-bin-9.
|
17
|
-
# version: 9.
|
16
|
+
# url: http://ci.jruby.org/snapshots/previous/jruby-bin-9.2.0.0-SNAPSHOT.tar.gz
|
17
|
+
# version: 9.2.0.0-SNAPSHOT
|
18
18
|
# sha1: IGNORE
|
19
19
|
|
20
20
|
# Note: this file is copied to the root of logstash-core because its gemspec needs it when
|
21
21
|
# bundler evaluates the gemspec via bin/logstash
|
22
22
|
# Ensure Jackson version here is kept in sync with version used by jrjackson gem
|
23
|
-
jrjackson: 0.4.
|
24
|
-
jackson: 2.9.
|
23
|
+
jrjackson: 0.4.7
|
24
|
+
jackson: 2.9.8
|
25
25
|
|
26
26
|
# This is a copy the project level versions.yml into this gem's root and it is created when the gemspec is evaluated.
|
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.
|
4
|
+
version: 6.7.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -17,8 +17,8 @@ dependencies:
|
|
17
17
|
- !ruby/object:Gem::Version
|
18
18
|
version: 0.10.1
|
19
19
|
name: pry
|
20
|
-
prerelease: false
|
21
20
|
type: :runtime
|
21
|
+
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
@@ -31,8 +31,8 @@ dependencies:
|
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 0.0.19
|
33
33
|
name: stud
|
34
|
-
prerelease: false
|
35
34
|
type: :runtime
|
35
|
+
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
@@ -45,8 +45,8 @@ dependencies:
|
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: 0.6.5
|
47
47
|
name: clamp
|
48
|
-
prerelease: false
|
49
48
|
type: :runtime
|
49
|
+
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
@@ -59,8 +59,8 @@ dependencies:
|
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: 0.0.4
|
61
61
|
name: filesize
|
62
|
-
prerelease: false
|
63
62
|
type: :runtime
|
63
|
+
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
@@ -73,8 +73,8 @@ dependencies:
|
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: 0.8.3
|
75
75
|
name: gems
|
76
|
-
prerelease: false
|
77
76
|
type: :runtime
|
77
|
+
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
@@ -90,8 +90,8 @@ dependencies:
|
|
90
90
|
- !ruby/object:Gem::Version
|
91
91
|
version: 1.0.5
|
92
92
|
name: concurrent-ruby
|
93
|
-
prerelease: false
|
94
93
|
type: :runtime
|
94
|
+
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
97
|
- - "~>"
|
@@ -110,8 +110,8 @@ dependencies:
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: 1.6.11
|
112
112
|
name: rack
|
113
|
-
prerelease: false
|
114
113
|
type: :runtime
|
114
|
+
prerelease: false
|
115
115
|
version_requirements: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
@@ -130,8 +130,8 @@ dependencies:
|
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: 1.4.6
|
132
132
|
name: sinatra
|
133
|
-
prerelease: false
|
134
133
|
type: :runtime
|
134
|
+
prerelease: false
|
135
135
|
version_requirements: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - "~>"
|
@@ -147,8 +147,8 @@ dependencies:
|
|
147
147
|
- !ruby/object:Gem::Version
|
148
148
|
version: '2.16'
|
149
149
|
name: puma
|
150
|
-
prerelease: false
|
151
150
|
type: :runtime
|
151
|
+
prerelease: false
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
153
|
requirements:
|
154
154
|
- - "~>"
|
@@ -161,8 +161,8 @@ dependencies:
|
|
161
161
|
- !ruby/object:Gem::Version
|
162
162
|
version: 0.9.20
|
163
163
|
name: jruby-openssl
|
164
|
-
prerelease: false
|
165
164
|
type: :runtime
|
165
|
+
prerelease: false
|
166
166
|
version_requirements: !ruby/object:Gem::Requirement
|
167
167
|
requirements:
|
168
168
|
- - ">="
|
@@ -175,8 +175,8 @@ dependencies:
|
|
175
175
|
- !ruby/object:Gem::Version
|
176
176
|
version: 0.10.6
|
177
177
|
name: chronic_duration
|
178
|
-
prerelease: false
|
179
178
|
type: :runtime
|
179
|
+
prerelease: false
|
180
180
|
version_requirements: !ruby/object:Gem::Requirement
|
181
181
|
requirements:
|
182
182
|
- - '='
|
@@ -189,8 +189,8 @@ dependencies:
|
|
189
189
|
- !ruby/object:Gem::Version
|
190
190
|
version: 1.5.0
|
191
191
|
name: treetop
|
192
|
-
prerelease: false
|
193
192
|
type: :runtime
|
193
|
+
prerelease: false
|
194
194
|
version_requirements: !ruby/object:Gem::Requirement
|
195
195
|
requirements:
|
196
196
|
- - "<"
|
@@ -203,8 +203,8 @@ dependencies:
|
|
203
203
|
- !ruby/object:Gem::Version
|
204
204
|
version: 0.6.9
|
205
205
|
name: i18n
|
206
|
-
prerelease: false
|
207
206
|
type: :runtime
|
207
|
+
prerelease: false
|
208
208
|
version_requirements: !ruby/object:Gem::Requirement
|
209
209
|
requirements:
|
210
210
|
- - '='
|
@@ -217,8 +217,8 @@ dependencies:
|
|
217
217
|
- !ruby/object:Gem::Version
|
218
218
|
version: 0.6.1
|
219
219
|
name: minitar
|
220
|
-
prerelease: false
|
221
220
|
type: :runtime
|
221
|
+
prerelease: false
|
222
222
|
version_requirements: !ruby/object:Gem::Requirement
|
223
223
|
requirements:
|
224
224
|
- - "~>"
|
@@ -231,8 +231,8 @@ dependencies:
|
|
231
231
|
- !ruby/object:Gem::Version
|
232
232
|
version: 1.2.1
|
233
233
|
name: rubyzip
|
234
|
-
prerelease: false
|
235
234
|
type: :runtime
|
235
|
+
prerelease: false
|
236
236
|
version_requirements: !ruby/object:Gem::Requirement
|
237
237
|
requirements:
|
238
238
|
- - "~>"
|
@@ -245,8 +245,8 @@ dependencies:
|
|
245
245
|
- !ruby/object:Gem::Version
|
246
246
|
version: 0.3.5
|
247
247
|
name: thread_safe
|
248
|
-
prerelease: false
|
249
248
|
type: :runtime
|
249
|
+
prerelease: false
|
250
250
|
version_requirements: !ruby/object:Gem::Requirement
|
251
251
|
requirements:
|
252
252
|
- - "~>"
|
@@ -257,15 +257,15 @@ dependencies:
|
|
257
257
|
requirements:
|
258
258
|
- - '='
|
259
259
|
- !ruby/object:Gem::Version
|
260
|
-
version: 0.4.
|
260
|
+
version: 0.4.7
|
261
261
|
name: jrjackson
|
262
|
-
prerelease: false
|
263
262
|
type: :runtime
|
263
|
+
prerelease: false
|
264
264
|
version_requirements: !ruby/object:Gem::Requirement
|
265
265
|
requirements:
|
266
266
|
- - '='
|
267
267
|
- !ruby/object:Gem::Version
|
268
|
-
version: 0.4.
|
268
|
+
version: 0.4.7
|
269
269
|
- !ruby/object:Gem::Dependency
|
270
270
|
requirement: !ruby/object:Gem::Requirement
|
271
271
|
requirements:
|
@@ -276,8 +276,8 @@ dependencies:
|
|
276
276
|
- !ruby/object:Gem::Version
|
277
277
|
version: 5.0.4
|
278
278
|
name: elasticsearch
|
279
|
-
prerelease: false
|
280
279
|
type: :runtime
|
280
|
+
prerelease: false
|
281
281
|
version_requirements: !ruby/object:Gem::Requirement
|
282
282
|
requirements:
|
283
283
|
- - "~>"
|
@@ -296,8 +296,8 @@ dependencies:
|
|
296
296
|
- !ruby/object:Gem::Version
|
297
297
|
version: 1.0.0
|
298
298
|
name: manticore
|
299
|
-
prerelease: false
|
300
299
|
type: :runtime
|
300
|
+
prerelease: false
|
301
301
|
version_requirements: !ruby/object:Gem::Requirement
|
302
302
|
requirements:
|
303
303
|
- - ">="
|
@@ -608,7 +608,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
608
608
|
version: '0'
|
609
609
|
requirements: []
|
610
610
|
rubyforge_project:
|
611
|
-
rubygems_version: 2.6
|
611
|
+
rubygems_version: 2.7.6
|
612
612
|
signing_key:
|
613
613
|
specification_version: 4
|
614
614
|
summary: logstash-core - The core components of logstash
|