Author: eevans
Date: Wed Feb 24 16:37:14 2010
New Revision: 915856
URL: http://svn.apache.org/viewvc?rev=915856&view=rev
Log:
cassandra-cli: friendlier error messages
* Print a useful error message (instead of an assertion error) when
column name is ommitted on set.
* Trap InvalidRequestExceptions and print the "why" string (which tends
to be quite informative).
Patch by eevans; reviewed by jbellis for CASSANDRA-738
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliClient.java
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliMain.java
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliClient.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliClient.java?rev=915856&r1=915855&r2=915856&view=diff
==============================================================================
---
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliClient.java
(original)
+++
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliClient.java
Wed Feb 24 16:37:14 2010
@@ -399,9 +399,15 @@
byte[] superColumnName = null;
byte[] columnName = null;
-
+
+ // table.cf['key']
+ if (columnSpecCnt == 0)
+ {
+ css_.err.println("No column name specified, (type 'help' or '?'
for help on syntax).");
+ return;
+ }
// table.cf['key']['column'] = 'value'
- if (columnSpecCnt == 1)
+ else if (columnSpecCnt == 1)
{
// get the column name
columnName = CliCompiler.getColumn(columnFamilySpec,
0).getBytes("UTF-8");
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliMain.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliMain.java?rev=915856&r1=915855&r2=915856&view=diff
==============================================================================
---
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliMain.java
(original)
+++
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cli/CliMain.java
Wed Feb 24 16:37:14 2010
@@ -21,6 +21,7 @@
import jline.ConsoleReader;
import jline.History;
import org.apache.cassandra.thrift.Cassandra;
+import org.apache.cassandra.thrift.InvalidRequestException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
@@ -172,9 +173,15 @@
{
cliClient_.executeCLIStmt(query);
}
+ catch (InvalidRequestException ire)
+ {
+ css_.err.println(ire.why);
+ if (css_.debug)
+ ire.printStackTrace();
+ }
catch (Exception e)
{
- System.err.println("Exception " + e.getMessage());
+ css_.err.println("Exception " + e.getMessage());
if (css_.debug)
e.printStackTrace();