Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>

Hii, I am new to logstash and using logstash to syncup mysql with elasticsearch. But I can't get through this error. Please help. It is urgent.

    Using JAVA_HOME defined java: /Library/Java/JavaVirtualMachines/jdk-15.0.2.jdk/Contents/Home
    WARNING, using JAVA_HOME while Logstash distribution comes with a bundled JDK
    Sending Logstash logs to /Users/pandey/Tekion/softwares/logstash-7.12.0/logs which is now configured via log4j2.properties
    [2021-04-13T21:14:31,176][INFO ][logstash.runner          ] Log4j configuration path used is: /Users/pandey/Tekion/softwares/logstash-7.12.0/config/log4j2.properties
    [2021-04-13T21:14:31,198][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"7.12.0", "jruby.version"=>"jruby 9.2.13.0 (2.5.7) 2020-08-03 9a89c94bcc Java HotSpot(TM) 64-Bit Server VM 15.0.2+7-27 on 15.0.2+7-27 +indy +jit [darwin-x86_64]"}
    [2021-04-13T21:14:31,350][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
    [2021-04-13T21:14:32,177][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
    [2021-04-13T21:14:32,773][INFO ][org.reflections.Reflections] Reflections took 32 ms to scan 1 urls, producing 23 keys and 47 values 
    [2021-04-13T21:14:32,944][ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::JavaLang::IllegalStateException", :message=>"Unable to configure plugins: (TypeError) could not coerce Integer to class java.lang.String", :backtrace=>["org.logstash.config.ir.CompiledPipeline.<init>(CompiledPipeline.java:119)", "org.logstash.execution.JavaBasePipelineExt.initialize(JavaBasePipelineExt.java:83)", "org.logstash.execution.JavaBasePipelineExt$INVOKER$i$1$0$initialize.call(JavaBasePipelineExt$INVOKER$i$1$0$initialize.gen)", "org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:837)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:1169)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:1156)", "org.jruby.ir.targets.InstanceSuperInvokeSite.invoke(InstanceSuperInvokeSite.java:39)", "Users.pandey.Tekion.softwares.logstash_minus_7_dot_12_dot_0.logstash_minus_core.lib.logstash.java_pipeline.RUBY$method$initialize$0(/Users/pandey/Tekion/softwares/logstash-7.12.0/logstash-core/lib/logstash/java_pipeline.rb:47)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:80)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)", "org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)", "org.jruby.RubyClass.newInstance(RubyClass.java:939)", "org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)", "Users.pandey.Tekion.softwares.logstash_minus_7_dot_12_dot_0.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0(/Users/pandey/Tekion/softwares/logstash-7.12.0/logstash-core/lib/logstash/pipeline_action/create.rb:52)", "Users.pandey.Tekion.softwares.logstash_minus_7_dot_12_dot_0.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0$__VARARGS__(/Users/pandey/Tekion/softwares/logstash-7.12.0/logstash-core/lib/logstash/pipeline_action/create.rb)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:80)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)", "Users.pandey.Tekion.softwares.logstash_minus_7_dot_12_dot_0.logstash_minus_core.lib.logstash.agent.RUBY$block$converge_state$2(/Users/pandey/Tekion/softwares/logstash-7.12.0/logstash-core/lib/logstash/agent.rb:389)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:138)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:58)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:52)", "org.jruby.runtime.Block.call(Block.java:139)", "org.jruby.RubyProc.call(RubyProc.java:318)", "org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:105)", "java.base/java.lang.Thread.run(Thread.java:832)"]}
    warning: thread "Converge PipelineAction::Create<main>" terminated with exception (report_on_exception is true):
    LogStash::Error: Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`
              create at org/logstash/execution/ConvergeResultExt.java:129
                 add at org/logstash/execution/ConvergeResultExt.java:57
      converge_state at /Users/pandey/Tekion/softwares/logstash-7.12.0/logstash-core/lib/logstash/agent.rb:402
    [2021-04-13T21:14:32,949][ERROR][logstash.agent           ] An exception happened when converging configuration {:exception=>LogStash::Error, :message=>"Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`"}
    [2021-04-13T21:14:32,957][FATAL][logstash.runner          ] An unexpected error occurred! {:error=>#<LogStash::Error: Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`>, :backtrace=>["org/logstash/execution/ConvergeResultExt.java:129:in `create'", "org/logstash/execution/ConvergeResultExt.java:57:in `add'", "/Users/pandey/Tekion/softwares/logstash-7.12.0/logstash-core/lib/logstash/agent.rb:402:in `block in converge_state'"]}
    [2021-04-13T21:14:32,964][FATAL][org.logstash.Logstash    ] Logstash stopped processing because of an error: (SystemExit) exit
    org.jruby.exceptions.SystemExit: (SystemExit) exit
    	at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:747) ~[jruby-complete-9.2.13.0.jar:?]
    	at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:710) ~[jruby-complete-9.2.13.0.jar:?]
    	at Users.pandey.Tekion.softwares.logstash_minus_7_dot_12_dot_0.lib.bootstrap.environment.<main>(/Users/pandey/Tekion/softwares/logstash-7.12.0/lib/bootstrap/environment.rb:89) ~[?:?]

What does your logstash configuration look like?

This is my conf file

    input {
      jdbc {
        jdbc_driver_library => "/Users/pandey/Downloads/mysql-connector-java-8.0.23/mysql-connector-java-8.0.23.jar"
        jdbc_driver_class => "com.mysql.jdbc.Driver"
        jdbc_connection_string => "jdbc:mysql://localhost:3306/project"
        jdbc_user => root
        jdbc_password => 12345
        jdbc_paging_enabled => true
        tracking_column => "unix_ts_in_secs"
        use_column_value => true
        tracking_column_type => "numeric"
        schedule => "*/5 * * * * *"
        statement => "SELECT *, UNIX_TIMESTAMP(last) AS unix_ts_in_secs FROM studentm WHERE (UNIX_TIMESTAMP(last) > :sql_last_value AND last < NOW()) ORDER BY last ASC"
      }
    }
    filter {
      mutate {
        copy => { "id" => "[@metadata][_id]"}
        remove_field => ["id", "@version", "unix_ts_in_secs"]
      }
    }
    output {
      stdout { codec =>  "rubydebug"}
      elasticsearch {
          hosts => ["localhost:9200"]
          index => "rdbms_sync_idx"
          document_id => "%{[@metadata][_id]}"
      }
    }

That is a terrible, terrible error message. I am almost tempted to open an issue for it.

Change this to

    jdbc_password => "12345"

Edited to add: a PR to fix this has been created (it will interpret the number as a string because the validation applied is "password"), so it will be fixed in a future release.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.