need initClause when catch Exception and throw new Exception in cli -------------------------------------------------------------------
Key: CASSANDRA-3312 URL: https://issues.apache.org/jira/browse/CASSANDRA-3312 Project: Cassandra Issue Type: Bug Reporter: Jackson Chung Assignee: Pavel Yaskevich Priority: Minor through CASSANDRA-2746 , we added initCause to the Cli such that we could see more meaningful exception stacktrace when certain exception is thrown. However, there are still some other area, eg: executeGetWithConditions(Tree) executeSet(Tree) executeIncr(Tree, long) etc etc... basically any time you do a {code} { throw new RuntimeException(e.getMessage()); } {code} the real exception is lost. The right approach should be: {code} catch (Exception e) { throw new RuntimeException(e.getMessage(), e); } {code} eg: i was getting this: null java.lang.RuntimeException at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:310) at org.apache.cassandra.cli.CliMain.processStatement(CliMain.java:217) at org.apache.cassandra.cli.CliMain.main(CliMain.java:345) Caused by: java.lang.RuntimeException at org.apache.cassandra.cli.CliClient.executeGetWithConditions(CliClient.java:815) at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:208) ... 2 more but i have no idea what the problem is with just the above stack trace. with the fix, this would tell us more: null java.lang.RuntimeException at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:310) at org.apache.cassandra.cli.CliMain.processStatement(CliMain.java:217) at org.apache.cassandra.cli.CliMain.main(CliMain.java:345) Caused by: java.lang.RuntimeException at org.apache.cassandra.cli.CliClient.executeGetWithConditions(CliClient.java:815) at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:208) ... 2 more Caused by: UnavailableException() at org.apache.cassandra.thrift.Cassandra$get_indexed_slices_result.read(Cassandra.java:14065) at org.apache.cassandra.thrift.Cassandra$Client.recv_get_indexed_slices(Cassandra.java:810) at org.apache.cassandra.thrift.Cassandra$Client.get_indexed_slices(Cassandra.java:782) at org.apache.cassandra.cli.CliClient.executeGetWithConditions(CliClient.java:806) ... 3 more -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira