Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

logstash-input-s3 3.6.0 restarting due to unrecoverable error with CipherSuites array issue #225

Open
PadaKwaak opened this issue Apr 12, 2021 · 1 comment

Comments

@PadaKwaak
Copy link

When upgrading from the 3.5.0 to 3.6.0 version of the logstash-input-s3 plugin, my pipeline crashes.

I have tried multiple versions of official logstash docker images, and they all do the same:

  • Version: 3.6.0
  • Operating System: logstash:7.12.0, logstash:7.11.2 & logstash:6.8.15 docker images
  • Steps to Reproduce:

Using the below Dockerfile, which updates logstash-input-s3 from 3.5.0 to 3.6.0:

FROM logstash:7.12.0

RUN /opt/logstash/bin/logstash-plugin update logstash-input-s3

Input filter config:

input {

    s3 {
        id => "my-pipeline-id"
        aws_credentials_file => "/usr/share/logstash/.aws/custom-credentials"
        sincedb_path => "/opt/logstash/data/plugins/inputs/s3/sincedb_file1"

        region => "us-east-1"
        bucket => "my-bucket"
        prefix => "myprefix/2021/04/12/"

        interval => 30
        additional_settings => {
          force_path_style => true
          follow_redirects => false
        }

        codec => json
    }
}

The stack trace starts with:

Error: The specified CipherSuites array contains invalid null or empty string elements
  Exception: Java::JavaLang::IllegalArgumentException
  Stack: java.base/sun.security.ssl.CipherSuite.validValuesOf(CipherSuite.java:895)
java.base/sun.security.ssl.SSLEngineImpl.setEnabledCipherSuites(SSLEngineImpl.java:776)
org.jruby.ext.openssl.SSLContext.createSSLEngine(SSLContext.java:687)
org.jruby.ext.openssl.SSLSocket.ossl_ssl_setup(SSLSocket.java:220)
org.jruby.ext.openssl.SSLSocket.connectImpl(SSLSocket.java:286)
org.jruby.ext.openssl.SSLSocket.connect_nonblock(SSLSocket.java:275)
org.jruby.ext.openssl.SSLSocket$INVOKER$i$connect_nonblock.call(SSLSocket$INVOKER$i$connect_nonblock.gen)
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:833)
org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)
uri_3a_classloader_3a_.META_minus_INF.jruby_dot_home.lib.ruby.stdlib.net.protocol.RUBY$method$ssl_socket_connect$0(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/net/protocol.rb:44)

See
logstash-input-s3.log for the full log output.

@kaisecheng
Copy link
Contributor

It is likely an issue caused by jruby-openssl 0.10.6. When you update the plugin, the dependency is updated from 0.10.5 to 0.10.6. The workaround is to pin the Gemfile.lock to jruby-openssl (0.10.5-java)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants