You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michael Shuler (JIRA)" <ji...@apache.org> on 2013/12/18 23:51:08 UTC

[jira] [Reopened] (CASSANDRA-6378) sstableloader does not support client encryption on Cassandra 2.0

     [ https://issues.apache.org/jira/browse/CASSANDRA-6378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Shuler reopened CASSANDRA-6378:
---------------------------------------


cassandra-2.0 and trunk both fail to build in the same manner:
{code}
build-project:
     [echo] apache-cassandra: /home/mshuler/git/cassandra/build.xml
    [javac] Compiling 43 source files to /home/mshuler/git/cassandra/build/classes/thrift
    [javac] Note: /home/mshuler/git/cassandra/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java uses or overrides a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] Compiling 847 source files to /home/mshuler/git/cassandra/build/classes/main
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/io/util/NativeAllocator.java:22: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac] import sun.misc.Unsafe;
    [javac]                ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/utils/FastByteComparisons.java:25: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac] import sun.misc.Unsafe;
    [javac]                ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/io/sstable/IndexSummary.java:20: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac] import java.io.Closeable;
    [javac]             ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/io/util/Memory.java:29: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]     private static final Unsafe unsafe = NativeAllocator.unsafe;
    [javac]                          ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/io/util/NativeAllocator.java:26: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]     static final Unsafe unsafe;
    [javac]                  ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/io/util/NativeAllocator.java:31: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]             Field field = sun.misc.Unsafe.class.getDeclaredField("theUnsafe");
    [javac]                                   ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/io/util/NativeAllocator.java:33: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]             unsafe = (sun.misc.Unsafe) field.get(null);
    [javac]                               ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:461: error: cannot find symbol
    [javac]             if (transportFactory.supportedOptions().contains(SSLTransportFactory.TRUSTSTORE))
    [javac]                                                              ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:462: error: cannot find symbol
    [javac]                 options.put(SSLTransportFactory.TRUSTSTORE, opts.encOptions.truststore);
    [javac]                             ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:463: error: cannot find symbol
    [javac]             if (transportFactory.supportedOptions().contains(SSLTransportFactory.TRUSTSTORE_PASSWORD))
    [javac]                                                              ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:464: error: cannot find symbol
    [javac]                 options.put(SSLTransportFactory.TRUSTSTORE_PASSWORD, opts.encOptions.truststore_password);
    [javac]                             ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:465: error: cannot find symbol
    [javac]             if (transportFactory.supportedOptions().contains(SSLTransportFactory.PROTOCOL))
    [javac]                                                              ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:466: error: cannot find symbol
    [javac]                 options.put(SSLTransportFactory.PROTOCOL, opts.encOptions.protocol);
    [javac]                             ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:467: error: cannot find symbol
    [javac]             if (transportFactory.supportedOptions().contains(SSLTransportFactory.CIPHER_SUITES))
    [javac]                                                              ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:468: error: cannot find symbol
    [javac]                 options.put(SSLTransportFactory.CIPHER_SUITES, Joiner.on(',').join(opts.encOptions.cipher_suites));
    [javac]                             ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:470: error: cannot find symbol
    [javac]             if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE)
    [javac]                                                              ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:472: error: cannot find symbol
    [javac]                 options.put(SSLTransportFactory.KEYSTORE, opts.encOptions.keystore);
    [javac]                             ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:473: error: cannot find symbol
    [javac]             if (transportFactory.supportedOptions().contains(SSLTransportFactory.KEYSTORE_PASSWORD)
    [javac]                                                              ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/tools/BulkLoader.java:475: error: cannot find symbol
    [javac]                 options.put(SSLTransportFactory.KEYSTORE_PASSWORD, opts.encOptions.keystore_password);
    [javac]                             ^
    [javac]   symbol:   variable SSLTransportFactory
    [javac]   location: class LoaderOptions
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/utils/FastByteComparisons.java:114: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]       static final Unsafe theUnsafe;
    [javac]                    ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/utils/FastByteComparisons.java:120: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]         theUnsafe = (Unsafe) AccessController.doPrivileged(
    [javac]                      ^
    [javac] /home/mshuler/git/cassandra/src/java/org/apache/cassandra/utils/FastByteComparisons.java:125: warning: Unsafe is internal proprietary API and may be removed in a future release
    [javac]                   Field f = Unsafe.class.getDeclaredField("theUnsafe");
    [javac]                             ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 12 errors
    [javac] 10 warnings

BUILD FAILED
{code}

> sstableloader does not support client encryption on Cassandra 2.0
> -----------------------------------------------------------------
>
>                 Key: CASSANDRA-6378
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-6378
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: David Laube
>            Assignee: Sam Tunnicliffe
>              Labels: client, encryption, ssl, sstableloader
>             Fix For: 2.0.4
>
>         Attachments: 0001-CASSANDRA-6387-Add-SSL-support-to-BulkLoader.patch
>
>
> We have been testing backup/restore from one ring to another and we recently stumbled upon an issue with sstableloader. When client_enc_enable: true, the exception below is generated. However, when client_enc_enable is set to false, the sstableloader is able to get to the point where it is discovers endpoints, connects to stream data, etc.
> ==============BEGIN EXCEPTION==============
> sstableloader --debug -d x.x.x.248,x.x.x.108,x.x.x.113 /tmp/import/keyspace_name/columnfamily_name
> Exception in thread "main" java.lang.RuntimeException: Could not retrieve endpoint ranges:
> at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:226)
> at org.apache.cassandra.io.sstable.SSTableLoader.stream(SSTableLoader.java:149)
> at org.apache.cassandra.tools.BulkLoader.main(BulkLoader.java:68)
> Caused by: org.apache.thrift.transport.TTransportException: Frame size (352518400) larger than max length (16384000)!
> at org.apache.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:137)
> at org.apache.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
> at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
> at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:362)
> at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:284)
> at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:191)
> at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69)
> at org.apache.cassandra.thrift.Cassandra$Client.recv_describe_partitioner(Cassandra.java:1292)
> at org.apache.cassandra.thrift.Cassandra$Client.describe_partitioner(Cassandra.java:1280)
> at org.apache.cassandra.tools.BulkLoader$ExternalClient.init(BulkLoader.java:199)
> ... 2 more
> ==============END EXCEPTION==============



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)