You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Chester Knapp (JIRA)" <ji...@apache.org> on 2014/09/10 21:21:33 UTC

[jira] [Created] (CASSANDRA-7908) using relative truststore path, per client_encryption_options example, throws java.io.FileNotFoundException

Chester Knapp created CASSANDRA-7908:
----------------------------------------

             Summary: using relative truststore path, per client_encryption_options example, throws java.io.FileNotFoundException
                 Key: CASSANDRA-7908
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7908
             Project: Cassandra
          Issue Type: Bug
          Components: Config
         Environment: [root@cassandra-02 conf]# rpm -qa | grep cass
cassandra20-2.0.9-1.noarch
[root@cassandra-02 conf]# uname -a
Linux cassandra-02 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

            Reporter: Chester Knapp
            Priority: Trivial


Reading the example given in the default cassandra.yaml, it seems the truststore path accepts relative paths. However, doing so results in a 
file not found exception. Using the absolute path works without issue. 

Config snippet:
{noformat}
# enable or disable client/server encryption.
client_encryption_options:
    enabled: true
    #keystore: conf/.keystore
    keystore: /etc/cassandra/conf/cassandra-02/keystore
    #keystore_password: cassandra
    keystore_password: password
    require_client_auth: true
    # Set trustore and truststore_password if require_client_auth is true
    #truststore: conf/.truststore
    #truststore_password: cassandra
    truststore: /etc/cassandra/conf/cassandra-02/truststore
    truststore_password: password
    # More advanced defaults below:
    # protocol: TLS
    # algorithm: SunX509
    # store_type: JKS
    # cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]

{noformat}

Log snippet:
{noformat}
 INFO [main] 2014-09-10 18:53:24,118 CassandraDaemon.java (line 575) No gossip backlog; proceeding
DEBUG [main] 2014-09-10 18:53:24,166 Slf4JLogger.java (line 32) Using select timeout of 500
DEBUG [main] 2014-09-10 18:53:24,166 Slf4JLogger.java (line 32) Epoll-bug workaround enabled = false
 INFO [main] 2014-09-10 18:53:24,201 Server.java (line 147) Enabling encrypted CQL connections between client and server
ERROR [main] 2014-09-10 18:53:24,255 CassandraDaemon.java (line 513) Exception encountered during startup
java.lang.RuntimeException: Failed to setup secure pipeline
        at org.apache.cassandra.transport.Server$SecurePipelineFactory.<init>(Server.java:289)
        at org.apache.cassandra.transport.Server.run(Server.java:148)
        at org.apache.cassandra.transport.Server.start(Server.java:108)
        at org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java:443)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:509)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)
Caused by: java.io.IOException: Error creating the initializing the SSL Context
        at org.apache.cassandra.security.SSLFactory.createSSLContext(SSLFactory.java:124)
        at org.apache.cassandra.transport.Server$SecurePipelineFactory.<init>(Server.java:285)
        ... 5 more
Caused by: java.io.FileNotFoundException: conf/cassandra-02/truststore (No such file or directory)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:146)
        at java.io.FileInputStream.<init>(FileInputStream.java:101)
        at org.apache.cassandra.security.SSLFactory.createSSLContext(SSLFactory.java:105)
        ... 6 more
 INFO [StorageServiceShutdownHook] 2014-09-10 18:53:24,269 Gossiper.java (line 1279) Announcing shutdown
DEBUG [GossipTasks:1] 2014-09-10 18:53:24,660 DebuggableThreadPoolExecutor.java (line 245) Task cancelled
java.util.concurrent.CancellationException
        at java.util.concurrent.FutureTask.report(FutureTask.java:121)
        at java.util.concurrent.FutureTask.get(FutureTask.java:188)
        at org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.extractThrowable(DebuggableThreadPoolExecutor.java:237)
        at org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.logExceptionsAfterExecute(DebuggableThreadPoolExecutor.java:201)
        at org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.afterExecute(DebuggableScheduledThreadPoolExecutor.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
 INFO [StorageServiceShutdownHook] 2014-09-10 18:53:26,269 MessagingService.java (line 683) Waiting for messaging service to quiesce
DEBUG [StorageServiceShutdownHook] 2014-09-10 18:53:26,270 MessagingService.java (line 928) Closing accept() thread
DEBUG [ACCEPT-cassandra-02.adaptiveapps.com/192.168.10.205] 2014-09-10 18:53:26,272 MessagingService.java (line 909) Asynchronous close seen by server thread
 INFO [ACCEPT-cassandra-02.adaptiveapps.com/192.168.10.205] 2014-09-10 18:53:26,272 MessagingService.java (line 923) MessagingService has terminated the accept() thread
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)