diff --git a/Dockerfile b/Dockerfile index 64f4c03d060..a85449ba5e8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ COPY LICENSE.txt /opt/logstash/LICENSE.txt COPY NOTICE.TXT /opt/logstash/NOTICE.TXT COPY licenses /opt/logstash/licenses COPY CONTRIBUTORS /opt/logstash/CONTRIBUTORS -COPY Gemfile.template Gemfile.jruby-2.6.lock.* /opt/logstash/ +COPY Gemfile.template Gemfile.jruby-3.1.lock.* /opt/logstash/ COPY Rakefile /opt/logstash/Rakefile COPY build.gradle /opt/logstash/build.gradle COPY rubyUtils.gradle /opt/logstash/rubyUtils.gradle diff --git a/Gemfile.template b/Gemfile.template index 333020b0007..31db3131274 100644 --- a/Gemfile.template +++ b/Gemfile.template @@ -31,3 +31,4 @@ gem "rspec", "~> 3.5", :group => :development gem "webmock", "~> 3", :group => :development gem "jar-dependencies", "= 0.4.1" # Gem::LoadError with jar-dependencies 0.4.2 gem "murmurhash3", "= 0.1.6" # Pins until version 0.1.7-java is released +gem "thwait" diff --git a/bin/logstash.lib.sh b/bin/logstash.lib.sh index 782d7f7f515..3c4da9070f5 100755 --- a/bin/logstash.lib.sh +++ b/bin/logstash.lib.sh @@ -167,7 +167,7 @@ setup_vendored_jruby() { fi if [ -z "$LS_GEM_HOME" ] ; then - export GEM_HOME="${LOGSTASH_HOME}/vendor/bundle/jruby/2.6.0" + export GEM_HOME="${LOGSTASH_HOME}/vendor/bundle/jruby/3.1.0" else export GEM_HOME=${LS_GEM_HOME} fi diff --git a/build.gradle b/build.gradle index 09f66300305..581ef94db8e 100644 --- a/build.gradle +++ b/build.gradle @@ -294,9 +294,9 @@ def bundlerVersion = "~> 2" tasks.register("installBundler") { dependsOn assemblyDeps - outputs.files file("${projectDir}/vendor/bundle/jruby/2.6.0/bin/bundle") + outputs.files file("${projectDir}/vendor/bundle/jruby/3.1.0/bin/bundle") doLast { - gem(projectDir, buildDir, "bundler", bundlerVersion, "${projectDir}/vendor/bundle/jruby/2.6.0") + gem(projectDir, buildDir, "bundler", bundlerVersion, "${projectDir}/vendor/bundle/jruby/3.1.0") } } @@ -417,7 +417,7 @@ tasks.register("unpackTarDistribution", Copy) { def qaBuildPath = "${buildDir}/qa/integration" def qaVendorPath = "${qaBuildPath}/vendor" -def qaBundledGemPath = "${qaVendorPath}/jruby/2.6.0".toString() +def qaBundledGemPath = "${qaVendorPath}/jruby/3.1.0".toString() def qaBundleBin = "${qaBundledGemPath}/bin/bundle" tasks.register("installIntegrationTestBundler"){ diff --git a/lib/bootstrap/bundler.rb b/lib/bootstrap/bundler.rb index e4538f68943..0acaa57afa6 100644 --- a/lib/bootstrap/bundler.rb +++ b/lib/bootstrap/bundler.rb @@ -119,7 +119,7 @@ def invoke!(options = {}) ) end # create Gemfile.jruby-1.9.lock from template iff a template exists it itself does not exist - lock_template = ::File.join(ENV["LOGSTASH_HOME"], "Gemfile.jruby-2.6.lock.release") + lock_template = ::File.join(ENV["LOGSTASH_HOME"], "Gemfile.jruby-3.1.lock.release") if ::File.exists?(lock_template) && !::File.exists?(Environment::LOCKFILE) FileUtils.copy(lock_template, Environment::LOCKFILE) end diff --git a/lib/pluginmanager/gem_installer.rb b/lib/pluginmanager/gem_installer.rb index 9cdc390d661..e5560a78025 100644 --- a/lib/pluginmanager/gem_installer.rb +++ b/lib/pluginmanager/gem_installer.rb @@ -26,7 +26,7 @@ module LogStash module PluginManager # - Generate the specifications # - Copy the data in the right folders class GemInstaller - GEM_HOME = Pathname.new(::File.join(LogStash::Environment::BUNDLE_DIR, "jruby", "2.6.0")) + GEM_HOME = Pathname.new(::File.join(LogStash::Environment::BUNDLE_DIR, "jruby", "3.1.0")) SPECIFICATIONS_DIR = "specifications" GEMS_DIR = "gems" CACHE_DIR = "cache" diff --git a/logstash-core/lib/logstash/api/modules/logging.rb b/logstash-core/lib/logstash/api/modules/logging.rb index bbac0bea338..43d8c58772c 100644 --- a/logstash-core/lib/logstash/api/modules/logging.rb +++ b/logstash-core/lib/logstash/api/modules/logging.rb @@ -26,7 +26,7 @@ class Logging < ::LogStash::Api::Modules::Base # # return any unused configurations def handle_logging(settings) - Hash[settings.map do |key, level| + couplesList = settings.map do |key, level| if key.start_with?("logger.") _, path = key.split("logger.") LogStash::Logging::Logger::configure_logging(level, path) @@ -34,7 +34,8 @@ def handle_logging(settings) else [key, level] end - end] + end.reject {|value| value.nil?} # skip nil which result in ArgumentError since JRuby 9.4 + Hash[couplesList] end put "/" do diff --git a/logstash-core/lib/logstash/codecs/base.rb b/logstash-core/lib/logstash/codecs/base.rb index 745d1d9dea4..75fb25dfe9a 100644 --- a/logstash-core/lib/logstash/codecs/base.rb +++ b/logstash-core/lib/logstash/codecs/base.rb @@ -91,7 +91,7 @@ def flush(&block) end public - def clone + def clone(*args) LogStash::Plugins::Contextualizer.initialize_plugin(execution_context, self.class, params).tap do |klone| klone.metric = @metric if klone.instance_variable_get(:@metric).nil? end diff --git a/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.rb b/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.rb index d84f6ef0fc6..da90b24f63e 100644 --- a/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.rb +++ b/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.rb @@ -12,7 +12,7 @@ def root end module Config0 - def _ + def cs elements[0] end @@ -22,7 +22,7 @@ def plugin_section end module Config1 - def _ + def cs elements[1] end end @@ -42,7 +42,7 @@ def _nt_config s1, i1 = [], index loop do i2, s2 = index, [] - r3 = _nt__ + r3 = _nt_cs s2 << r3 if r3 r4 = _nt_plugin_section @@ -64,7 +64,7 @@ def _nt_config r1 = instantiate_node(SyntaxNode,input, i1...index, s1) s0 << r1 if r1 - r5 = _nt__ + r5 = _nt_cs s0 << r5 end if s0.last @@ -183,12 +183,12 @@ def _nt_comment r0 end - def _nt__ + def _nt_cs start_index = index - if node_cache[:_].has_key?(index) - cached = node_cache[:_][index] + if node_cache[:cs].has_key?(index) + cached = node_cache[:cs][index] if cached - node_cache[:_][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true + node_cache[:cs][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached @@ -219,7 +219,7 @@ def _nt__ end r0 = instantiate_node(LogStash::Compiler::LSCL::AST::Whitespace,input, i0...index, s0) - node_cache[:_][start_index] = r0 + node_cache[:cs][start_index] = r0 r0 end @@ -267,7 +267,7 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end @@ -277,11 +277,11 @@ def plugin_type elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -302,7 +302,7 @@ def _nt_plugin_section r1 = _nt_plugin_type s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("{", false, index)) @@ -314,7 +314,7 @@ def _nt_plugin_section end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 s5, i5 = [], index @@ -323,7 +323,7 @@ def _nt_plugin_section r7 = _nt_branch_or_plugin s6 << r7 if r7 - r8 = _nt__ + r8 = _nt_cs s6 << r8 end if s6.last @@ -457,7 +457,7 @@ def _nt_plugin_type end module Plugins0 - def _ + def cs elements[0] end @@ -491,7 +491,7 @@ def _nt_plugins s3, i3 = [], index loop do i4, s4 = index, [] - r5 = _nt__ + r5 = _nt_cs s4 << r5 if r5 r6 = _nt_plugin @@ -536,7 +536,7 @@ def whitespace elements[0] end - def _ + def cs elements[1] end @@ -557,11 +557,11 @@ def name elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -569,7 +569,7 @@ def attributes elements[4] end - def _3 + def cs3 elements[5] end @@ -590,7 +590,7 @@ def _nt_plugin r1 = _nt_name s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("{", false, index)) @@ -602,7 +602,7 @@ def _nt_plugin end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 i6, s6 = index, [] @@ -615,7 +615,7 @@ def _nt_plugin r10 = _nt_whitespace s9 << r10 if r10 - r11 = _nt__ + r11 = _nt_cs s9 << r11 if r11 r12 = _nt_attribute @@ -652,7 +652,7 @@ def _nt_plugin end s0 << r5 if r5 - r13 = _nt__ + r13 = _nt_cs s0 << r13 if r13 if (match_len = has_terminal?("}", false, index)) @@ -739,11 +739,11 @@ def name elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -767,7 +767,7 @@ def _nt_attribute r1 = _nt_name s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("=>", false, index)) @@ -779,7 +779,7 @@ def _nt_attribute end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_value @@ -1462,11 +1462,11 @@ def _nt_number end module Array0 - def _1 + def cs1 elements[0] end - def _2 + def cs2 elements[2] end @@ -1483,11 +1483,11 @@ def value end module Array2 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -1514,7 +1514,7 @@ def _nt_array end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 i4, s4 = index, [] @@ -1524,7 +1524,7 @@ def _nt_array s6, i6 = [], index loop do i7, s7 = index, [] - r8 = _nt__ + r8 = _nt_cs s7 << r8 if r8 if (match_len = has_terminal?(",", false, index)) @@ -1536,7 +1536,7 @@ def _nt_array end s7 << r9 if r9 - r10 = _nt__ + r10 = _nt_cs s7 << r10 if r10 r11 = _nt_value @@ -1574,7 +1574,7 @@ def _nt_array end s0 << r3 if r3 - r12 = _nt__ + r12 = _nt_cs s0 << r12 if r12 if (match_len = has_terminal?("]", false, index)) @@ -1603,11 +1603,11 @@ def _nt_array end module Hash0 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -1634,7 +1634,7 @@ def _nt_hash end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r4 = _nt_hashentries @@ -1645,7 +1645,7 @@ def _nt_hash end s0 << r3 if r3 - r5 = _nt__ + r5 = _nt_cs s0 << r5 if r5 if (match_len = has_terminal?("}", false, index)) @@ -1748,11 +1748,11 @@ def name elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -1796,7 +1796,7 @@ def _nt_hashentry end s0 << r1 if r1 - r5 = _nt__ + r5 = _nt_cs s0 << r5 if r5 if (match_len = has_terminal?("=>", false, index)) @@ -1808,7 +1808,7 @@ def _nt_hashentry end s0 << r6 if r6 - r7 = _nt__ + r7 = _nt_cs s0 << r7 if r7 r8 = _nt_value @@ -1831,7 +1831,7 @@ def _nt_hashentry end module Branch0 - def _ + def cs elements[0] end @@ -1841,7 +1841,7 @@ def else_if end module Branch1 - def _ + def cs elements[0] end @@ -1875,7 +1875,7 @@ def _nt_branch s2, i2 = [], index loop do i3, s3 = index, [] - r4 = _nt__ + r4 = _nt_cs s3 << r4 if r4 r5 = _nt_else_if @@ -1898,7 +1898,7 @@ def _nt_branch s0 << r2 if r2 i7, s7 = index, [] - r8 = _nt__ + r8 = _nt_cs s7 << r8 if r8 r9 = _nt_else @@ -1937,13 +1937,13 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end module If1 - def _1 + def cs1 elements[1] end @@ -1951,11 +1951,11 @@ def condition elements[2] end - def _2 + def cs2 elements[3] end - def _3 + def cs3 elements[5] end @@ -1982,13 +1982,13 @@ def _nt_if end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_condition s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 if (match_len = has_terminal?("{", false, index)) @@ -2000,7 +2000,7 @@ def _nt_if end s0 << r5 if r5 - r6 = _nt__ + r6 = _nt_cs s0 << r6 if r6 s7, i7 = [], index @@ -2009,7 +2009,7 @@ def _nt_if r9 = _nt_branch_or_plugin s8 << r9 if r9 - r10 = _nt__ + r10 = _nt_cs s8 << r10 end if s8.last @@ -2061,17 +2061,17 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end module ElseIf1 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -2079,11 +2079,11 @@ def condition elements[4] end - def _3 + def cs3 elements[5] end - def _4 + def cs4 elements[7] end @@ -2110,7 +2110,7 @@ def _nt_else_if end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("if", false, index)) @@ -2122,13 +2122,13 @@ def _nt_else_if end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_condition s0 << r5 if r5 - r6 = _nt__ + r6 = _nt_cs s0 << r6 if r6 if (match_len = has_terminal?("{", false, index)) @@ -2140,7 +2140,7 @@ def _nt_else_if end s0 << r7 if r7 - r8 = _nt__ + r8 = _nt_cs s0 << r8 if r8 s9, i9 = [], index @@ -2149,7 +2149,7 @@ def _nt_else_if r11 = _nt_branch_or_plugin s10 << r11 if r11 - r12 = _nt__ + r12 = _nt_cs s10 << r12 end if s10.last @@ -2203,17 +2203,17 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end module Else1 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -2240,7 +2240,7 @@ def _nt_else end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("{", false, index)) @@ -2252,7 +2252,7 @@ def _nt_else end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 s5, i5 = [], index @@ -2261,7 +2261,7 @@ def _nt_else r7 = _nt_branch_or_plugin s6 << r7 if r7 - r8 = _nt__ + r8 = _nt_cs s6 << r8 end if s6.last @@ -2307,7 +2307,7 @@ def _nt_else end module Condition0 - def _1 + def cs1 elements[0] end @@ -2315,7 +2315,7 @@ def boolean_operator elements[1] end - def _2 + def cs2 elements[2] end @@ -2349,13 +2349,13 @@ def _nt_condition s2, i2 = [], index loop do i3, s3 = index, [] - r4 = _nt__ + r4 = _nt_cs s3 << r4 if r4 r5 = _nt_boolean_operator s3 << r5 if r5 - r6 = _nt__ + r6 = _nt_cs s3 << r6 if r6 r7 = _nt_expression @@ -2393,7 +2393,7 @@ def _nt_condition end module Expression0 - def _1 + def cs1 elements[1] end @@ -2401,7 +2401,7 @@ def condition elements[2] end - def _2 + def cs2 elements[3] end @@ -2429,13 +2429,13 @@ def _nt_expression end s1 << r2 if r2 - r3 = _nt__ + r3 = _nt_cs s1 << r3 if r3 r4 = _nt_condition s1 << r4 if r4 - r5 = _nt__ + r5 = _nt_cs s1 << r5 if r5 if (match_len = has_terminal?(")", false, index)) @@ -2514,11 +2514,11 @@ def _nt_expression end module NegativeExpression0 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -2526,14 +2526,14 @@ def condition elements[4] end - def _3 + def cs3 elements[5] end end module NegativeExpression1 - def _ + def cs elements[1] end @@ -2564,7 +2564,7 @@ def _nt_negative_expression end s1 << r2 if r2 - r3 = _nt__ + r3 = _nt_cs s1 << r3 if r3 if (match_len = has_terminal?("(", false, index)) @@ -2576,13 +2576,13 @@ def _nt_negative_expression end s1 << r4 if r4 - r5 = _nt__ + r5 = _nt_cs s1 << r5 if r5 r6 = _nt_condition s1 << r6 if r6 - r7 = _nt__ + r7 = _nt_cs s1 << r7 if r7 if (match_len = has_terminal?(")", false, index)) @@ -2621,7 +2621,7 @@ def _nt_negative_expression end s9 << r10 if r10 - r11 = _nt__ + r11 = _nt_cs s9 << r11 if r11 r12 = _nt_selector @@ -2655,7 +2655,7 @@ def rvalue1 elements[0] end - def _1 + def cs1 elements[1] end @@ -2663,7 +2663,7 @@ def in_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -2687,13 +2687,13 @@ def _nt_in_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_in_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_rvalue @@ -2720,7 +2720,7 @@ def rvalue1 elements[0] end - def _1 + def cs1 elements[1] end @@ -2728,7 +2728,7 @@ def not_in_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -2752,13 +2752,13 @@ def _nt_not_in_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_not_in_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_rvalue @@ -2805,7 +2805,7 @@ def _nt_in_operator end module NotInOperator0 - def _ + def cs elements[1] end @@ -2832,7 +2832,7 @@ def _nt_not_in_operator end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("in", false, index)) @@ -2915,11 +2915,11 @@ def _nt_rvalue end module MethodCall0 - def _1 + def cs1 elements[0] end - def _2 + def cs2 elements[2] end @@ -2940,15 +2940,15 @@ def method elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end - def _3 + def cs3 elements[5] end @@ -2969,7 +2969,7 @@ def _nt_method_call r1 = _nt_method s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("(", false, index)) @@ -2981,7 +2981,7 @@ def _nt_method_call end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 i6, s6 = index, [] @@ -2991,7 +2991,7 @@ def _nt_method_call s8, i8 = [], index loop do i9, s9 = index, [] - r10 = _nt__ + r10 = _nt_cs s9 << r10 if r10 if (match_len = has_terminal?(",", false, index)) @@ -3003,7 +3003,7 @@ def _nt_method_call end s9 << r11 if r11 - r12 = _nt__ + r12 = _nt_cs s9 << r12 if r12 r13 = _nt_rvalue @@ -3041,7 +3041,7 @@ def _nt_method_call end s0 << r5 if r5 - r14 = _nt__ + r14 = _nt_cs s0 << r14 if r14 if (match_len = has_terminal?(")", false, index)) @@ -3094,7 +3094,7 @@ def rvalue1 elements[0] end - def _1 + def cs1 elements[1] end @@ -3102,7 +3102,7 @@ def compare_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -3126,13 +3126,13 @@ def _nt_compare_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_compare_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_rvalue @@ -3257,7 +3257,7 @@ def rvalue elements[0] end - def _1 + def cs1 elements[1] end @@ -3265,7 +3265,7 @@ def regexp_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -3286,13 +3286,13 @@ def _nt_regexp_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_regexp_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 i5 = index diff --git a/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.treetop b/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.treetop index 4cb6b82f810..9af43f608ea 100644 --- a/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.treetop +++ b/logstash-core/lib/logstash/compiler/lscl/lscl_grammar.treetop @@ -3,14 +3,14 @@ require "logstash/compiler/lscl.rb" grammar LogStashCompilerLSCLGrammar rule config - (_ plugin_section)* _ + (cs plugin_section)* cs end rule comment (whitespace? "#" [^\r\n]* "\r"? "\n")+ end - rule _ + rule cs (comment / whitespace)* end @@ -19,8 +19,8 @@ grammar LogStashCompilerLSCLGrammar end rule plugin_section - plugin_type _ "{" - _ (branch_or_plugin _)* + plugin_type cs "{" + cs (branch_or_plugin cs)* "}" end @@ -34,15 +34,15 @@ grammar LogStashCompilerLSCLGrammar end rule plugins - (plugin (_ plugin)*)? + (plugin (cs plugin)*)? end rule plugin - name _ "{" - _ - attributes:( attribute (whitespace _ attribute)*)? - _ + name cs "{" + cs + attributes:( attribute (whitespace cs attribute)*)? + cs "}" end @@ -55,7 +55,7 @@ grammar LogStashCompilerLSCLGrammar end rule attribute - name _ "=>" _ value + name cs "=>" cs value end @@ -95,20 +95,20 @@ grammar LogStashCompilerLSCLGrammar rule array "[" - _ + cs ( - value (_ "," _ value)* + value (cs "," cs value)* )? - _ + cs "]" end rule hash "{" - _ + cs hashentries? - _ + cs "}" end @@ -119,39 +119,39 @@ grammar LogStashCompilerLSCLGrammar end rule hashentry - name:(number / bareword / string) _ "=>" _ value + name:(number / bareword / string) cs "=>" cs value end # Conditions rule branch - if (_ else_if)* (_ else)? + if (cs else_if)* (cs else)? end rule if - "if" _ condition _ "{" _ (branch_or_plugin _)* "}" + "if" cs condition cs "{" cs (branch_or_plugin cs)* "}" end rule else_if - "else" _ "if" _ condition _ "{" _ ( branch_or_plugin _)* "}" + "else" cs "if" cs condition cs "{" cs ( branch_or_plugin cs)* "}" end rule else - "else" _ "{" _ (branch_or_plugin _)* "}" + "else" cs "{" cs (branch_or_plugin cs)* "}" end rule condition - expression (_ boolean_operator _ expression)* + expression (cs boolean_operator cs expression)* end rule expression ( - ("(" _ condition _ ")") + ("(" cs condition cs ")") / negative_expression / in_expression / not_in_expression @@ -163,18 +163,18 @@ grammar LogStashCompilerLSCLGrammar rule negative_expression ( - ("!" _ "(" _ condition _ ")") - / ("!" _ selector) + ("!" cs "(" cs condition cs ")") + / ("!" cs selector) ) end rule in_expression - rvalue _ in_operator _ rvalue + rvalue cs in_operator cs rvalue end rule not_in_expression - rvalue _ not_in_operator _ rvalue + rvalue cs not_in_operator cs rvalue end @@ -183,7 +183,7 @@ grammar LogStashCompilerLSCLGrammar end rule not_in_operator - "not " _ "in" + "not " cs "in" end rule rvalue @@ -191,11 +191,11 @@ grammar LogStashCompilerLSCLGrammar end rule method_call - method _ "(" _ + method cs "(" cs ( - rvalue ( _ "," _ rvalue )* + rvalue ( cs "," cs rvalue )* )? - _ ")" + cs ")" end @@ -204,7 +204,7 @@ grammar LogStashCompilerLSCLGrammar end rule compare_expression - rvalue _ compare_operator _ rvalue + rvalue cs compare_operator cs rvalue end @@ -214,7 +214,7 @@ grammar LogStashCompilerLSCLGrammar end rule regexp_expression - rvalue _ regexp_operator _ (string / regexp) + rvalue cs regexp_operator cs (string / regexp) end diff --git a/logstash-core/lib/logstash/config/grammar.rb b/logstash-core/lib/logstash/config/grammar.rb index 5cb3dc683a0..008878c8ca6 100644 --- a/logstash-core/lib/logstash/config/grammar.rb +++ b/logstash-core/lib/logstash/config/grammar.rb @@ -1,19 +1,5 @@ -# Licensed to Elasticsearch B.V. under one or more contributor -# license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright -# ownership. Elasticsearch B.V. licenses this file to you under -# the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. +# Autogenerated from a Treetop grammar. Edits may be lost. + require "treetop/runtime" require "logstash/config/config_ast" @@ -26,7 +12,7 @@ def root end module Config0 - def _ + def cs elements[0] end @@ -36,7 +22,7 @@ def plugin_section end module Config1 - def _1 + def cs1 elements[0] end @@ -44,11 +30,11 @@ def plugin_section elements[1] end - def _2 + def cs2 elements[2] end - def _3 + def cs3 elements[4] end end @@ -65,19 +51,19 @@ def _nt_config end i0, s0 = index, [] - r1 = _nt__ + r1 = _nt_cs s0 << r1 if r1 r2 = _nt_plugin_section s0 << r2 if r2 - r3 = _nt__ + r3 = _nt_cs s0 << r3 if r3 s4, i4 = [], index loop do i5, s5 = index, [] - r6 = _nt__ + r6 = _nt_cs s5 << r6 if r6 r7 = _nt_plugin_section @@ -99,7 +85,7 @@ def _nt_config r4 = instantiate_node(SyntaxNode,input, i4...index, s4) s0 << r4 if r4 - r8 = _nt__ + r8 = _nt_cs s0 << r8 end end @@ -221,12 +207,12 @@ def _nt_comment r0 end - def _nt__ + def _nt_cs start_index = index - if node_cache[:_].has_key?(index) - cached = node_cache[:_][index] + if node_cache[:cs].has_key?(index) + cached = node_cache[:cs][index] if cached - node_cache[:_][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true + node_cache[:cs][index] = cached = SyntaxNode.new(input, index...(index + 1)) if cached == true @index = cached.interval.end end return cached @@ -257,7 +243,7 @@ def _nt__ end r0 = instantiate_node(LogStash::Config::AST::Whitespace,input, i0...index, s0) - node_cache[:_][start_index] = r0 + node_cache[:cs][start_index] = r0 r0 end @@ -305,7 +291,7 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end @@ -315,11 +301,11 @@ def plugin_type elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -340,7 +326,7 @@ def _nt_plugin_section r1 = _nt_plugin_type s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("{", false, index)) @@ -352,7 +338,7 @@ def _nt_plugin_section end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 s5, i5 = [], index @@ -361,7 +347,7 @@ def _nt_plugin_section r7 = _nt_branch_or_plugin s6 << r7 if r7 - r8 = _nt__ + r8 = _nt_cs s6 << r8 end if s6.last @@ -495,7 +481,7 @@ def _nt_plugin_type end module Plugins0 - def _ + def cs elements[0] end @@ -529,7 +515,7 @@ def _nt_plugins s3, i3 = [], index loop do i4, s4 = index, [] - r5 = _nt__ + r5 = _nt_cs s4 << r5 if r5 r6 = _nt_plugin @@ -574,7 +560,7 @@ def whitespace elements[0] end - def _ + def cs elements[1] end @@ -595,11 +581,11 @@ def name elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -607,7 +593,7 @@ def attributes elements[4] end - def _3 + def cs3 elements[5] end @@ -628,7 +614,7 @@ def _nt_plugin r1 = _nt_name s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("{", false, index)) @@ -640,7 +626,7 @@ def _nt_plugin end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 i6, s6 = index, [] @@ -653,7 +639,7 @@ def _nt_plugin r10 = _nt_whitespace s9 << r10 if r10 - r11 = _nt__ + r11 = _nt_cs s9 << r11 if r11 r12 = _nt_attribute @@ -690,7 +676,7 @@ def _nt_plugin end s0 << r5 if r5 - r13 = _nt__ + r13 = _nt_cs s0 << r13 if r13 if (match_len = has_terminal?("}", false, index)) @@ -777,11 +763,11 @@ def name elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -805,7 +791,7 @@ def _nt_attribute r1 = _nt_name s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("=>", false, index)) @@ -817,7 +803,7 @@ def _nt_attribute end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_value @@ -1500,11 +1486,11 @@ def _nt_number end module Array0 - def _1 + def cs1 elements[0] end - def _2 + def cs2 elements[2] end @@ -1521,11 +1507,11 @@ def value end module Array2 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -1552,7 +1538,7 @@ def _nt_array end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 i4, s4 = index, [] @@ -1562,7 +1548,7 @@ def _nt_array s6, i6 = [], index loop do i7, s7 = index, [] - r8 = _nt__ + r8 = _nt_cs s7 << r8 if r8 if (match_len = has_terminal?(",", false, index)) @@ -1574,7 +1560,7 @@ def _nt_array end s7 << r9 if r9 - r10 = _nt__ + r10 = _nt_cs s7 << r10 if r10 r11 = _nt_value @@ -1612,7 +1598,7 @@ def _nt_array end s0 << r3 if r3 - r12 = _nt__ + r12 = _nt_cs s0 << r12 if r12 if (match_len = has_terminal?("]", false, index)) @@ -1641,11 +1627,11 @@ def _nt_array end module Hash0 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -1672,7 +1658,7 @@ def _nt_hash end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r4 = _nt_hashentries @@ -1683,7 +1669,7 @@ def _nt_hash end s0 << r3 if r3 - r5 = _nt__ + r5 = _nt_cs s0 << r5 if r5 if (match_len = has_terminal?("}", false, index)) @@ -1786,11 +1772,11 @@ def name elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -1834,7 +1820,7 @@ def _nt_hashentry end s0 << r1 if r1 - r5 = _nt__ + r5 = _nt_cs s0 << r5 if r5 if (match_len = has_terminal?("=>", false, index)) @@ -1846,7 +1832,7 @@ def _nt_hashentry end s0 << r6 if r6 - r7 = _nt__ + r7 = _nt_cs s0 << r7 if r7 r8 = _nt_value @@ -1869,7 +1855,7 @@ def _nt_hashentry end module Branch0 - def _ + def cs elements[0] end @@ -1879,7 +1865,7 @@ def else_if end module Branch1 - def _ + def cs elements[0] end @@ -1913,7 +1899,7 @@ def _nt_branch s2, i2 = [], index loop do i3, s3 = index, [] - r4 = _nt__ + r4 = _nt_cs s3 << r4 if r4 r5 = _nt_else_if @@ -1936,7 +1922,7 @@ def _nt_branch s0 << r2 if r2 i7, s7 = index, [] - r8 = _nt__ + r8 = _nt_cs s7 << r8 if r8 r9 = _nt_else @@ -1975,13 +1961,13 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end module If1 - def _1 + def cs1 elements[1] end @@ -1989,11 +1975,11 @@ def condition elements[2] end - def _2 + def cs2 elements[3] end - def _3 + def cs3 elements[5] end @@ -2020,13 +2006,13 @@ def _nt_if end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_condition s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 if (match_len = has_terminal?("{", false, index)) @@ -2038,7 +2024,7 @@ def _nt_if end s0 << r5 if r5 - r6 = _nt__ + r6 = _nt_cs s0 << r6 if r6 s7, i7 = [], index @@ -2047,7 +2033,7 @@ def _nt_if r9 = _nt_branch_or_plugin s8 << r9 if r9 - r10 = _nt__ + r10 = _nt_cs s8 << r10 end if s8.last @@ -2099,17 +2085,17 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end module ElseIf1 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -2117,11 +2103,11 @@ def condition elements[4] end - def _3 + def cs3 elements[5] end - def _4 + def cs4 elements[7] end @@ -2148,7 +2134,7 @@ def _nt_else_if end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("if", false, index)) @@ -2160,13 +2146,13 @@ def _nt_else_if end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_condition s0 << r5 if r5 - r6 = _nt__ + r6 = _nt_cs s0 << r6 if r6 if (match_len = has_terminal?("{", false, index)) @@ -2178,7 +2164,7 @@ def _nt_else_if end s0 << r7 if r7 - r8 = _nt__ + r8 = _nt_cs s0 << r8 if r8 s9, i9 = [], index @@ -2187,7 +2173,7 @@ def _nt_else_if r11 = _nt_branch_or_plugin s10 << r11 if r11 - r12 = _nt__ + r12 = _nt_cs s10 << r12 end if s10.last @@ -2241,17 +2227,17 @@ def branch_or_plugin elements[0] end - def _ + def cs elements[1] end end module Else1 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -2278,7 +2264,7 @@ def _nt_else end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("{", false, index)) @@ -2290,7 +2276,7 @@ def _nt_else end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 s5, i5 = [], index @@ -2299,7 +2285,7 @@ def _nt_else r7 = _nt_branch_or_plugin s6 << r7 if r7 - r8 = _nt__ + r8 = _nt_cs s6 << r8 end if s6.last @@ -2345,7 +2331,7 @@ def _nt_else end module Condition0 - def _1 + def cs1 elements[0] end @@ -2353,7 +2339,7 @@ def boolean_operator elements[1] end - def _2 + def cs2 elements[2] end @@ -2387,13 +2373,13 @@ def _nt_condition s2, i2 = [], index loop do i3, s3 = index, [] - r4 = _nt__ + r4 = _nt_cs s3 << r4 if r4 r5 = _nt_boolean_operator s3 << r5 if r5 - r6 = _nt__ + r6 = _nt_cs s3 << r6 if r6 r7 = _nt_expression @@ -2431,7 +2417,7 @@ def _nt_condition end module Expression0 - def _1 + def cs1 elements[1] end @@ -2439,7 +2425,7 @@ def condition elements[2] end - def _2 + def cs2 elements[3] end @@ -2467,13 +2453,13 @@ def _nt_expression end s1 << r2 if r2 - r3 = _nt__ + r3 = _nt_cs s1 << r3 if r3 r4 = _nt_condition s1 << r4 if r4 - r5 = _nt__ + r5 = _nt_cs s1 << r5 if r5 if (match_len = has_terminal?(")", false, index)) @@ -2552,11 +2538,11 @@ def _nt_expression end module NegativeExpression0 - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end @@ -2564,14 +2550,14 @@ def condition elements[4] end - def _3 + def cs3 elements[5] end end module NegativeExpression1 - def _ + def cs elements[1] end @@ -2602,7 +2588,7 @@ def _nt_negative_expression end s1 << r2 if r2 - r3 = _nt__ + r3 = _nt_cs s1 << r3 if r3 if (match_len = has_terminal?("(", false, index)) @@ -2614,13 +2600,13 @@ def _nt_negative_expression end s1 << r4 if r4 - r5 = _nt__ + r5 = _nt_cs s1 << r5 if r5 r6 = _nt_condition s1 << r6 if r6 - r7 = _nt__ + r7 = _nt_cs s1 << r7 if r7 if (match_len = has_terminal?(")", false, index)) @@ -2659,7 +2645,7 @@ def _nt_negative_expression end s9 << r10 if r10 - r11 = _nt__ + r11 = _nt_cs s9 << r11 if r11 r12 = _nt_selector @@ -2693,7 +2679,7 @@ def rvalue1 elements[0] end - def _1 + def cs1 elements[1] end @@ -2701,7 +2687,7 @@ def in_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -2725,13 +2711,13 @@ def _nt_in_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_in_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_rvalue @@ -2758,7 +2744,7 @@ def rvalue1 elements[0] end - def _1 + def cs1 elements[1] end @@ -2766,7 +2752,7 @@ def not_in_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -2790,13 +2776,13 @@ def _nt_not_in_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_not_in_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_rvalue @@ -2843,7 +2829,7 @@ def _nt_in_operator end module NotInOperator0 - def _ + def cs elements[1] end @@ -2870,7 +2856,7 @@ def _nt_not_in_operator end s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("in", false, index)) @@ -2953,11 +2939,11 @@ def _nt_rvalue end module MethodCall0 - def _1 + def cs1 elements[0] end - def _2 + def cs2 elements[2] end @@ -2978,15 +2964,15 @@ def method elements[0] end - def _1 + def cs1 elements[1] end - def _2 + def cs2 elements[3] end - def _3 + def cs3 elements[5] end @@ -3007,7 +2993,7 @@ def _nt_method_call r1 = _nt_method s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 if (match_len = has_terminal?("(", false, index)) @@ -3019,7 +3005,7 @@ def _nt_method_call end s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 i6, s6 = index, [] @@ -3029,7 +3015,7 @@ def _nt_method_call s8, i8 = [], index loop do i9, s9 = index, [] - r10 = _nt__ + r10 = _nt_cs s9 << r10 if r10 if (match_len = has_terminal?(",", false, index)) @@ -3041,7 +3027,7 @@ def _nt_method_call end s9 << r11 if r11 - r12 = _nt__ + r12 = _nt_cs s9 << r12 if r12 r13 = _nt_rvalue @@ -3079,7 +3065,7 @@ def _nt_method_call end s0 << r5 if r5 - r14 = _nt__ + r14 = _nt_cs s0 << r14 if r14 if (match_len = has_terminal?(")", false, index)) @@ -3132,7 +3118,7 @@ def rvalue1 elements[0] end - def _1 + def cs1 elements[1] end @@ -3140,7 +3126,7 @@ def compare_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -3164,13 +3150,13 @@ def _nt_compare_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_compare_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 r5 = _nt_rvalue @@ -3295,7 +3281,7 @@ def rvalue elements[0] end - def _1 + def cs1 elements[1] end @@ -3303,7 +3289,7 @@ def regexp_operator elements[2] end - def _2 + def cs2 elements[3] end @@ -3324,13 +3310,13 @@ def _nt_regexp_expression r1 = _nt_rvalue s0 << r1 if r1 - r2 = _nt__ + r2 = _nt_cs s0 << r2 if r2 r3 = _nt_regexp_operator s0 << r3 if r3 - r4 = _nt__ + r4 = _nt_cs s0 << r4 if r4 i5 = index @@ -3591,3 +3577,4 @@ def _nt_selector_element class LogStashConfigParser < Treetop::Runtime::CompiledParser include LogStashConfig end + diff --git a/logstash-core/lib/logstash/config/grammar.treetop b/logstash-core/lib/logstash/config/grammar.treetop index aaa7d223cbd..16dcd20b691 100644 --- a/logstash-core/lib/logstash/config/grammar.treetop +++ b/logstash-core/lib/logstash/config/grammar.treetop @@ -3,14 +3,14 @@ require "logstash/config/config_ast" grammar LogStashConfig rule config - _ plugin_section _ (_ plugin_section)* _ + cs plugin_section cs (cs plugin_section)* cs end rule comment (whitespace? "#" [^\r\n]* "\r"? "\n")+ end - rule _ + rule cs (comment / whitespace)* end @@ -19,8 +19,8 @@ grammar LogStashConfig end rule plugin_section - plugin_type _ "{" - _ (branch_or_plugin _)* + plugin_type cs "{" + cs (branch_or_plugin cs)* "}" end @@ -34,15 +34,15 @@ grammar LogStashConfig end rule plugins - (plugin (_ plugin)*)? + (plugin (cs plugin)*)? end rule plugin - name _ "{" - _ - attributes:( attribute (whitespace _ attribute)*)? - _ + name cs "{" + cs + attributes:( attribute (whitespace cs attribute)*)? + cs "}" end @@ -55,7 +55,7 @@ grammar LogStashConfig end rule attribute - name _ "=>" _ value + name cs "=>" cs value end @@ -95,20 +95,20 @@ grammar LogStashConfig rule array "[" - _ + cs ( - value (_ "," _ value)* + value (cs "," cs value)* )? - _ + cs "]" end rule hash "{" - _ + cs hashentries? - _ + cs "}" end @@ -119,39 +119,39 @@ grammar LogStashConfig end rule hashentry - name:(number / bareword / string) _ "=>" _ value + name:(number / bareword / string) cs "=>" cs value end # Conditions rule branch - if (_ else_if)* (_ else)? + if (cs else_if)* (cs else)? end rule if - "if" _ condition _ "{" _ (branch_or_plugin _)* "}" + "if" cs condition cs "{" cs (branch_or_plugin cs)* "}" end rule else_if - "else" _ "if" _ condition _ "{" _ ( branch_or_plugin _)* "}" + "else" cs "if" cs condition cs "{" cs ( branch_or_plugin cs)* "}" end rule else - "else" _ "{" _ (branch_or_plugin _)* "}" + "else" cs "{" cs (branch_or_plugin cs)* "}" end rule condition - expression (_ boolean_operator _ expression)* + expression (cs boolean_operator cs expression)* end rule expression ( - ("(" _ condition _ ")") + ("(" cs condition cs ")") / negative_expression / in_expression / not_in_expression @@ -163,18 +163,18 @@ grammar LogStashConfig rule negative_expression ( - ("!" _ "(" _ condition _ ")") - / ("!" _ selector) + ("!" cs "(" cs condition cs ")") + / ("!" cs selector) ) end rule in_expression - rvalue _ in_operator _ rvalue + rvalue cs in_operator cs rvalue end rule not_in_expression - rvalue _ not_in_operator _ rvalue + rvalue cs not_in_operator cs rvalue end @@ -183,7 +183,7 @@ grammar LogStashConfig end rule not_in_operator - "not " _ "in" + "not " cs "in" end rule rvalue @@ -191,11 +191,11 @@ grammar LogStashConfig end rule method_call - method _ "(" _ + method cs "(" cs ( - rvalue ( _ "," _ rvalue )* + rvalue ( cs "," cs rvalue )* )? - _ ")" + cs ")" end @@ -204,7 +204,7 @@ grammar LogStashConfig end rule compare_expression - rvalue _ compare_operator _ rvalue + rvalue cs compare_operator cs rvalue end @@ -214,7 +214,7 @@ grammar LogStashConfig end rule regexp_expression - rvalue _ regexp_operator _ (string / regexp) + rvalue cs regexp_operator cs (string / regexp) end diff --git a/logstash-core/lib/logstash/config/modules_common.rb b/logstash-core/lib/logstash/config/modules_common.rb index b1769542fbc..310ac3f7270 100644 --- a/logstash-core/lib/logstash/config/modules_common.rb +++ b/logstash-core/lib/logstash/config/modules_common.rb @@ -64,7 +64,7 @@ def self.pipeline_configs(settings) if (specified_and_available_names).empty? i18n_opts = {:specified_modules => module_names, :available_modules => available_module_names} - raise LogStash::ConfigLoadingError, I18n.t("logstash.modules.configuration.modules-unavailable", i18n_opts) + raise LogStash::ConfigLoadingError, I18n.t("logstash.modules.configuration.modules-unavailable", **i18n_opts) end specified_and_available_names.each do |module_name| @@ -121,7 +121,7 @@ def self.pipeline_configs(settings) end if !connect_fail_args.empty? - raise LogStash::ConfigLoadingError, I18n.t("logstash.modules.configuration.elasticsearch_connection_failed", connect_fail_args) + raise LogStash::ConfigLoadingError, I18n.t("logstash.modules.configuration.elasticsearch_connection_failed", **connect_fail_args) end end pipelines diff --git a/logstash-core/lib/logstash/environment.rb b/logstash-core/lib/logstash/environment.rb index 9dfe31762a9..8e305ebb0a4 100644 --- a/logstash-core/lib/logstash/environment.rb +++ b/logstash-core/lib/logstash/environment.rb @@ -133,7 +133,7 @@ module Environment # Windows safe way to produce a file: URI. file_schema = "file://" + (LogStash::Environment.windows? ? "/" : "") - LogStash::Logging::Logger::reconfigure(::URI.encode(file_schema + ::File.absolute_path(log4j_config_location))) + LogStash::Logging::Logger::reconfigure(::URI::Parser.new.escape(file_schema + ::File.absolute_path(log4j_config_location))) end # override log level that may have been introduced from a custom log4j config file LogStash::Logging::Logger::configure_logging(settings.get("log.level")) diff --git a/logstash-core/lib/logstash/inputs/base.rb b/logstash-core/lib/logstash/inputs/base.rb index aef3e56b4a1..120b24c0a15 100644 --- a/logstash-core/lib/logstash/inputs/base.rb +++ b/logstash-core/lib/logstash/inputs/base.rb @@ -109,8 +109,8 @@ def stop? @stop_called.value end - def clone - cloned = super + def clone(*args) + cloned = super(args) cloned.codec = @codec.clone if @codec cloned end diff --git a/logstash-core/lib/logstash/instrument/metric_store.rb b/logstash-core/lib/logstash/instrument/metric_store.rb index 1bb9c3e6ab5..3832a5dcf6c 100644 --- a/logstash-core/lib/logstash/instrument/metric_store.rb +++ b/logstash-core/lib/logstash/instrument/metric_store.rb @@ -31,7 +31,7 @@ class MetricNotFound < StandardError; end # Lets me a bit flexible on the coma usage in the path # definition - FILTER_KEYS_SEPARATOR = /\s?*,\s*/.freeze + FILTER_KEYS_SEPARATOR = /\s*,\s*/.freeze def initialize # We keep the structured cache to allow diff --git a/logstash-core/lib/logstash/settings.rb b/logstash-core/lib/logstash/settings.rb index 6df5cd343f7..44889ffd8f6 100644 --- a/logstash-core/lib/logstash/settings.rb +++ b/logstash-core/lib/logstash/settings.rb @@ -125,7 +125,7 @@ def set?(setting_name) get_setting(setting_name).set? end - def clone + def clone(*args) get_subset(".*") end alias_method :dup, :clone diff --git a/logstash-core/lib/logstash/util/safe_uri.rb b/logstash-core/lib/logstash/util/safe_uri.rb index c73a0a46859..7b88cdaea10 100644 --- a/logstash-core/lib/logstash/util/safe_uri.rb +++ b/logstash-core/lib/logstash/util/safe_uri.rb @@ -81,7 +81,7 @@ def eql?(other) end alias == eql? - def clone + def clone(*args) # No need to clone the URI, in java its immutable self.class.new(uri) end diff --git a/logstash-core/logstash-core.gemspec b/logstash-core/logstash-core.gemspec index 9637b72dae4..d1440438e05 100644 --- a/logstash-core/logstash-core.gemspec +++ b/logstash-core/logstash-core.gemspec @@ -62,6 +62,8 @@ Gem::Specification.new do |gem| gem.add_runtime_dependency "i18n", "~> 1" #(MIT license) + gem.add_runtime_dependency "thwait" + # filetools and rakelib gem.add_runtime_dependency "minitar", "~> 0.8" gem.add_runtime_dependency "rubyzip", "~> 1" diff --git a/logstash-core/spec/logstash/config/source/multi_local_spec.rb b/logstash-core/spec/logstash/config/source/multi_local_spec.rb index 49942d0cf26..c59962279a0 100644 --- a/logstash-core/spec/logstash/config/source/multi_local_spec.rb +++ b/logstash-core/spec/logstash/config/source/multi_local_spec.rb @@ -67,7 +67,7 @@ context "when `pipelines.yml` is only comments" do before(:each) do - allow(subject).to receive(:read_pipelines_from_yaml).and_return(::YAML.load("# blah\n# blah\n# blah\n")) + allow(subject).to receive(:read_pipelines_from_yaml).and_return(::YAML.load("# blah\n# blah\n# blah\n", fallback: false)) end it "returns true with messages" do expect(subject.config_conflict?).to be_truthy diff --git a/logstash-core/spec/logstash/webserver_spec.rb b/logstash-core/spec/logstash/webserver_spec.rb index 6e2d0105af4..8974e7a5130 100644 --- a/logstash-core/spec/logstash/webserver_spec.rb +++ b/logstash-core/spec/logstash/webserver_spec.rb @@ -126,7 +126,7 @@ def free_ports(servers) expect(port_range).to cover(port) expect(blocked_range).to_not cover(port) - response = open("http://#{address}").read + response = ::URI.open("http://#{address}").read expect { LogStash::Json.load(response) }.not_to raise_error subject.stop diff --git a/logstash-core/src/main/java/org/logstash/instrument/metrics/SnapshotExt.java b/logstash-core/src/main/java/org/logstash/instrument/metrics/SnapshotExt.java index 451d3e0f78a..0dbf520503f 100644 --- a/logstash-core/src/main/java/org/logstash/instrument/metrics/SnapshotExt.java +++ b/logstash-core/src/main/java/org/logstash/instrument/metrics/SnapshotExt.java @@ -48,7 +48,7 @@ public SnapshotExt initialize(final ThreadContext context, final IRubyObject[] a if (args.length == 2) { createdAt = (RubyTime) args[1]; } else { - createdAt = RubyTime.newInstance(context, context.runtime.getTime()); + createdAt = RubyTime.newInstance(context, context.runtime.getTime(), new IRubyObject[0]); } return this; } diff --git a/logstash-core/src/main/java/org/logstash/plugins/PluginLookup.java b/logstash-core/src/main/java/org/logstash/plugins/PluginLookup.java index dd20e847c0c..fbef56f73f7 100644 --- a/logstash-core/src/main/java/org/logstash/plugins/PluginLookup.java +++ b/logstash-core/src/main/java/org/logstash/plugins/PluginLookup.java @@ -94,8 +94,8 @@ public Object klass() { klass = (klass instanceof JavaProxy) ? ((JavaProxy) klass).getObject() : klass; - Object resolvedClass = klass instanceof JavaClass - ? ((JavaClass) klass).javaClass() + Object resolvedClass = klass instanceof java.lang.Class + ? ((java.lang.Class) klass) : klass; if (language == PluginLanguage.JAVA && !PluginValidator.validatePlugin(type, (Class) resolvedClass)) { diff --git a/logstash-core/src/test/java/org/logstash/config/ir/RubyEnvTestCase.java b/logstash-core/src/test/java/org/logstash/config/ir/RubyEnvTestCase.java index 666bd15671c..4897125e6e3 100644 --- a/logstash-core/src/test/java/org/logstash/config/ir/RubyEnvTestCase.java +++ b/logstash-core/src/test/java/org/logstash/config/ir/RubyEnvTestCase.java @@ -45,7 +45,7 @@ private static void ensureLoadpath() { final LibrarySearcher librarySearcher = new LibrarySearcher(loader); if (librarySearcher.findLibraryForLoad("logstash/compiler") == null) { final String gems = LS_HOME. - resolve("vendor").resolve("bundle").resolve("jruby").resolve("2.6.0"). + resolve("vendor").resolve("bundle").resolve("jruby").resolve("3.1.0"). toFile().getAbsolutePath(); final RubyHash environment = RubyUtil.RUBY.getENV(); environment.put("GEM_HOME", gems); diff --git a/qa/integration/rspec.rb b/qa/integration/rspec.rb index ac58f1051b7..9da9e231599 100644 --- a/qa/integration/rspec.rb +++ b/qa/integration/rspec.rb @@ -20,7 +20,7 @@ ::Gem.clear_paths ENV['GEM_HOME'] = ENV['GEM_PATH'] = ::File.expand_path( - ::File.join(__FILE__, "..", "..", "..", "build", "qa", "integration", "vendor", "jruby", "2.6.0") + ::File.join(__FILE__, "..", "..", "..", "build", "qa", "integration", "vendor", "jruby", "3.1.0") ) ::Gem.paths = ENV diff --git a/qa/integration/specs/01_logstash_bin_smoke_spec.rb b/qa/integration/specs/01_logstash_bin_smoke_spec.rb index 54f68214753..30dd347afe1 100644 --- a/qa/integration/specs/01_logstash_bin_smoke_spec.rb +++ b/qa/integration/specs/01_logstash_bin_smoke_spec.rb @@ -160,7 +160,7 @@ def get_id # make sure logstash is up and running when calling this - JSON.parse(open("http://localhost:9600/").read)["id"] + JSON.parse(::URI.open("http://localhost:9600/").read)["id"] end it "should keep the same id between restarts" do @@ -172,10 +172,10 @@ def get_id } start_ls.call() # we use a try since logstash may have started but the webserver may not yet - first_id = Stud.try(num_retries.times, Errno::ECONNREFUSED) { get_id } + first_id = Stud.try(num_retries.times, Errno::EBADF) { get_id } @ls1.teardown start_ls.call() - second_id = Stud.try(num_retries.times, Errno::ECONNREFUSED) { get_id } + second_id = Stud.try(num_retries.times, Errno::EBADF) { get_id } expect(first_id).to eq(second_id) end end diff --git a/qa/integration/specs/command_line_spec.rb b/qa/integration/specs/command_line_spec.rb index a8ba277403f..87d96cc1e6c 100644 --- a/qa/integration/specs/command_line_spec.rb +++ b/qa/integration/specs/command_line_spec.rb @@ -40,7 +40,7 @@ execute = @logstash.run lines = execute.stderr_and_stdout.split("\n") expect(lines.shift).to match(/^(Using system java)|(Using bundled JDK)|(Using LS_JAVA_HOME defined java):/) - while (up_line = lines.shift).match(/OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated|warning: ignoring JAVA_TOOL_OPTIONS|warning: already initialized constant Socket::Constants/) do end + while (up_line = lines.shift).match(/OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated|warning: ignoring JAVA_TOOL_OPTIONS|warning: already initialized constant Socket::Constants|.*warning: method redefined; discarding old to_int$|.*warning: method redefined; discarding old to_f$/) do end expect(up_line).to match(/^Sending Logstash logs to/) end end diff --git a/rubyUtils.gradle b/rubyUtils.gradle index 24db130474c..09d47398d23 100644 --- a/rubyUtils.gradle +++ b/rubyUtils.gradle @@ -25,7 +25,7 @@ buildscript { dependencies { classpath "org.yaml:snakeyaml:${snakeYamlVersion}" classpath "de.undercouch:gradle-download-task:4.0.4" - classpath "org.jruby:jruby-core:9.3.10.0" + classpath "org.jruby:jruby-core:9.4.3.0" } } @@ -168,8 +168,8 @@ void setupJruby(File projectDir, File buildDir) { Object executeJruby(File projectDir, File buildDir, Closure /* Object*/ block) { def jruby = new ScriptingContainer() def env = jruby.environment - def gemDir = "${projectDir}/vendor/bundle/jruby/2.6.0".toString() - jruby.setLoadPaths(["${projectDir}/vendor/bundle/jruby/2.6.0/gems/bundler-2.4.14/lib".toString(), "${projectDir}/vendor/jruby/lib/ruby/stdlib".toString()]) + def gemDir = "${projectDir}/vendor/bundle/jruby/3.1.0".toString() + jruby.setLoadPaths(["${projectDir}/vendor/bundle/jruby/3.1.0/gems/bundler-2.4.14/lib".toString(), "${projectDir}/vendor/jruby/lib/ruby/stdlib".toString()]) env.put "USE_RUBY", "1" env.put "GEM_HOME", gemDir env.put "GEM_SPEC_CACHE", "${buildDir}/cache".toString() @@ -268,7 +268,6 @@ tasks.register("installCustomJRuby", Copy) { eachFile { f -> f.path = f.path.replaceFirst("^jruby-${customJRubyVersion}", '') } - exclude "**/stdlib/rdoc/**" includeEmptyDirs = false into "${projectDir}/vendor/jruby" } @@ -302,7 +301,6 @@ tasks.register("downloadAndInstallJRuby", Copy) { eachFile { f -> f.path = f.path.replaceFirst("^jruby-${jRubyVersion}", '') } - exclude "**/stdlib/rdoc/**" exclude "**/did_you_mean-*/evaluation/**" // licensing issue https://github.com/jruby/jruby/issues/6471 exclude "**/lib/jni/**/**" diff --git a/spec/unit/plugin_manager/pack_installer/local_spec.rb b/spec/unit/plugin_manager/pack_installer/local_spec.rb index c3077b832e3..ac88d12ff8f 100644 --- a/spec/unit/plugin_manager/pack_installer/local_spec.rb +++ b/spec/unit/plugin_manager/pack_installer/local_spec.rb @@ -67,8 +67,8 @@ it "install the gems" do expect(::Bundler::LogstashInjector).to receive(:inject!).with(be_kind_of(LogStash::PluginManager::PackInstaller::Pack)).and_return([]) - expect(::LogStash::PluginManager::GemInstaller).to receive(:install).with(/logstash-input-packtest/, anything) - expect(::LogStash::PluginManager::GemInstaller).to receive(:install).with(/logstash-input-packtestdep/, anything) + expect(::LogStash::PluginManager::GemInstaller).to receive(:install).with(/logstash-input-packtest-/, anything) + expect(::LogStash::PluginManager::GemInstaller).to receive(:install).with(/logstash-input-packtestdep-/, anything) expect { subject.execute }.not_to raise_error end diff --git a/tools/dependencies-report/src/main/resources/licenseMapping.csv b/tools/dependencies-report/src/main/resources/licenseMapping.csv index 00d772f7f8a..8a37f4fbd20 100644 --- a/tools/dependencies-report/src/main/resources/licenseMapping.csv +++ b/tools/dependencies-report/src/main/resources/licenseMapping.csv @@ -43,6 +43,8 @@ dependency,dependencyUrl,licenseOverride,copyright,sourceURL "dalli:",https://github.com/petergoldstein/dalli,MIT "domain_name:",https://github.com/knu/ruby-domain_name,BSD-2-Clause "dotenv:",https://github.com/bkeepers/dotenv,MIT +"down",https://github.com/janko/down,MIT +"e2mmap:",https://github.com/ruby/thwait,BSD-2-Clause "edn:",https://github.com/relevance/edn-ruby,MIT "elastic-app-search:",https://github.com/elastic/app-search-ruby,Apache-2.0 "elastic-enterprise-search:",https://github.com/elastic/enterprise-search-ruby,Apache-2.0 @@ -167,6 +169,7 @@ dependency,dependencyUrl,licenseOverride,copyright,sourceURL "spoon:",https://github.com/headius/spoon,Apache-2.0 "stud:",https://github.com/jordansissel/ruby-stud,Apache-2.0 "thread_safe:",https://github.com/ruby-concurrency/thread_safe,Apache-2.0 +"thwait:",https://github.com/ruby/thwait,BSD-2-Clause "tilt:",https://github.com/rtomayko/tilt,MIT "treetop:",https://github.com/cjheath/treetop,MIT "twitter:",https://github.com/sferik/twitter,MIT @@ -175,4 +178,3 @@ dependency,dependencyUrl,licenseOverride,copyright,sourceURL "unf:",https://github.com/knu/ruby-unf,BSD-2-Clause "webhdfs:",https://github.com/kzk/webhdfs,Apache-2.0 "xml-simple:",https://github.com/maik/xml-simple,BSD-2-Clause -"down",https://github.com/janko/down,MIT diff --git a/tools/dependencies-report/src/main/resources/notices/e2mmap-NOTICE.txt b/tools/dependencies-report/src/main/resources/notices/e2mmap-NOTICE.txt new file mode 100644 index 00000000000..7fc04232c2e --- /dev/null +++ b/tools/dependencies-report/src/main/resources/notices/e2mmap-NOTICE.txt @@ -0,0 +1,24 @@ +source: https://github.com/ruby/e2mmap/blob/master/LICENSE.txt + +Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. \ No newline at end of file diff --git a/tools/dependencies-report/src/main/resources/notices/thwait-NOTICE.txt b/tools/dependencies-report/src/main/resources/notices/thwait-NOTICE.txt new file mode 100644 index 00000000000..09ae1d08721 --- /dev/null +++ b/tools/dependencies-report/src/main/resources/notices/thwait-NOTICE.txt @@ -0,0 +1,24 @@ +source: https://github.com/ruby/thwait/blob/master/LICENSE.txt + +Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. \ No newline at end of file diff --git a/tools/release/bump_plugin_versions.rb b/tools/release/bump_plugin_versions.rb index 81794deecb5..2bea4b3cf1f 100755 --- a/tools/release/bump_plugin_versions.rb +++ b/tools/release/bump_plugin_versions.rb @@ -66,14 +66,14 @@ def compute_dependecy(version, allow_for) if base_logstash_version == "LOCAL" puts "Using local lockfile..." begin - result = File.read("Gemfile.jruby-2.6.lock.release") + result = File.read("Gemfile.jruby-3.1.lock.release") rescue => e puts "Failed to read local lockfile #{e}" exit(1) end else puts "Fetching lock file for #{base_logstash_version}.." - uri = URI.parse("https://raw.githubusercontent.com/elastic/logstash/v#{base_logstash_version}/Gemfile.jruby-2.6.lock.release") + uri = URI.parse("https://raw.githubusercontent.com/elastic/logstash/v#{base_logstash_version}/Gemfile.jruby-3.1.lock.release") result = Net::HTTP.get(uri) if result.match(/404/) puts "Lock file or git tag for #{base_logstash_version} not found. Aborting" @@ -104,7 +104,7 @@ def compute_dependecy(version, allow_for) IO.write("Gemfile.template", gemfile) puts "Cleaning up before running computing dependencies" -FileUtils.rm_f("Gemfile.jruby-2.6.lock.release") +FileUtils.rm_f("Gemfile.jruby-3.1.lock.release") # compute new lock file puts "Running: ./gradlew clean installDefaultGems" @@ -121,18 +121,18 @@ def compute_dependecy(version, allow_for) # rename file puts "Finishing up.." -FileUtils.mv("Gemfile.lock", "Gemfile.jruby-2.6.lock.release") +FileUtils.mv("Gemfile.lock", "Gemfile.jruby-3.1.lock.release") `git checkout -- Gemfile.template` -puts `git diff Gemfile.jruby-2.6.lock.release` +puts `git diff Gemfile.jruby-3.1.lock.release` exit(0) unless options[:pr] puts "Creating commit.." branch_name = "update_lock_#{Time.now.to_i}" `git checkout -b #{branch_name}` -`git commit Gemfile.jruby-2.6.lock.release -m "Update #{allow_bump_for} plugin versions in gemfile lock"` +`git commit Gemfile.jruby-3.1.lock.release -m "Update #{allow_bump_for} plugin versions in gemfile lock"` puts "Pushing commit.." `git remote add upstream git@github.com:elastic/logstash.git` diff --git a/versions.yml b/versions.yml index b80d1e83c45..39accdf6226 100644 --- a/versions.yml +++ b/versions.yml @@ -13,8 +13,8 @@ bundled_jdk: # jruby must reference a *released* version of jruby which can be downloaded from the official download url # *and* for which jars artifacts are published for compile-time jruby: - version: 9.3.10.0 - sha1: ceca96e84f1b6a7535654eef27d89d0a3024c76a + version: 9.4.3.0 + sha1: 41c683cb5c493c7bda937527611a23a8e60677f0 # jruby-runtime-override, if specified, will override the jruby version installed in vendor/jruby #jruby-runtime-override: # url: https://oss.sonatype.org/content/repositories/snapshots/org/jruby/jruby-dist/9.3.0.0-SNAPSHOT/jruby-dist-9.3.0.0-20210723.214927-259-bin.tar.gz diff --git a/x-pack/lib/filters/geoip/download_manager.rb b/x-pack/lib/filters/geoip/download_manager.rb index eb7586155d9..fe743cedb18 100644 --- a/x-pack/lib/filters/geoip/download_manager.rb +++ b/x-pack/lib/filters/geoip/download_manager.rb @@ -95,7 +95,7 @@ def download_database(database_type, dirname, db_info) options = { destination: zip_path } options.merge!({proxy: ENV['http_proxy']}) if ENV.include?('http_proxy') - Down.download(actual_url, options) + Down.download(actual_url, **options) raise "the new download has wrong checksum" if md5(zip_path) != db_info['md5_hash'] logger.debug("new database downloaded in ", :path => zip_path) diff --git a/x-pack/lib/license_checker/license_manager.rb b/x-pack/lib/license_checker/license_manager.rb index d15cad4213a..1cfc43e3915 100644 --- a/x-pack/lib/license_checker/license_manager.rb +++ b/x-pack/lib/license_checker/license_manager.rb @@ -18,7 +18,7 @@ class LicenseManager attr_reader :last_updated - def initialize (reader, feature, refresh_period=30, refresh_unit=TimeUnit::SECONDS) + def initialize(reader, feature, refresh_period=30, refresh_unit=TimeUnit::SECONDS) @license_reader = reader @feature = feature diff --git a/x-pack/modules/azure/lib/filters/azure_event.rb b/x-pack/modules/azure/lib/filters/azure_event.rb index 45588086a7f..60cf28f7093 100644 --- a/x-pack/modules/azure/lib/filters/azure_event.rb +++ b/x-pack/modules/azure/lib/filters/azure_event.rb @@ -166,7 +166,9 @@ def explode_common_resources(_resource_id) if type_name_repeating type_name_repeating_pairs = type_name_repeating.split("/") grouped_parts["resource_name"] = type_name_repeating_pairs.last - grouped_parts["resource_type"] = type_name_repeating_pairs.each_slice(2).map(&:first).join("/") + data = [] + type_name_repeating_pairs.each_slice(2) {|first, second| data << first} + grouped_parts["resource_type"] = data.join("/") end grouped_parts end