You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the latest changes to KinesisProducer.java, the producer is unable to find the SSL certificate when specifying the tempDirectory and nativeExecutable in KinesisProducerConfiguration. This in turn causes a curl error code 60 (Peer certificate cannot be authenticated with known CA certificates) when the producer tries to publish records to kinesis.
Prior to the latest update, the KinesisProducer constructor would set CA_DIR to pathToTmpDir in the environment map passed to the Daemon. However, with the latest changes, the constructor sets CA_DIR to a value returned by KinesisProducer.extractBinaries(). The problem is this method returns an empty string if the configuration has nativeExecutable set.
Our infrastructure is built on the previous logic and we are wondering if KinesisProducer.extractBinaries() could return pathToTmpDir when the nativeExecutable path is defined.
Currently the only work around is for us to disable verifyCertificate in the configuration which we would rather not do.
For reference, the constructor:
public KinesisProducer(KinesisProducerConfiguration config) {
this.config = config;
String caDirectory = extractBinaries();
env = new ImmutableMap.Builder<String, String>()
.put("LD_LIBRARY_PATH", pathToLibDir)
.put("DYLD_LIBRARY_PATH", pathToLibDir)
.put("CA_DIR", caDirectory)
.build();
child = new Daemon(pathToExecutable, new MessageHandler(), pathToTmpDir, config, env);
}
The KinesisProducer.extractBinaries() snippet that is causing the issue:
With the latest changes to KinesisProducer.java, the producer is unable to find the SSL certificate when specifying the tempDirectory and nativeExecutable in KinesisProducerConfiguration. This in turn causes a curl error code 60 (Peer certificate cannot be authenticated with known CA certificates) when the producer tries to publish records to kinesis.
Prior to the latest update, the KinesisProducer constructor would set CA_DIR to pathToTmpDir in the environment map passed to the Daemon. However, with the latest changes, the constructor sets CA_DIR to a value returned by KinesisProducer.extractBinaries(). The problem is this method returns an empty string if the configuration has nativeExecutable set.
Our infrastructure is built on the previous logic and we are wondering if KinesisProducer.extractBinaries() could return pathToTmpDir when the nativeExecutable path is defined.
Currently the only work around is for us to disable verifyCertificate in the configuration which we would rather not do.
For reference, the constructor:
The KinesisProducer.extractBinaries() snippet that is causing the issue:
The text was updated successfully, but these errors were encountered: