cassandra java客户端抛出字符串索引超出范围异常

时间:2014-04-19 12:38:25

标签: java database exception cassandra cql

从Cassandra cql java客户端运行查询时,我遇到异常。

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1949)
at org.apache.cassandra.cql.jdbc.CassandraResultSet.createColumn(CassandraResultSet.java:1159)
at org.apache.cassandra.cql.jdbc.CassandraResultSet.populateMetaData(CassandraResultSet.java:220)
at org.apache.cassandra.cql.jdbc.CassandraResultSet.<init>(CassandraResultSet.java:190)
at org.apache.cassandra.cql.jdbc.CassandraStatement.doExecute(CassandraStatement.java:169)
at org.apache.cassandra.cql.jdbc.CassandraStatement.executeQuery(CassandraStatement.java:229)
at com.jolbox.bonecp.StatementHandle.executeQuery(StatementHandle.java:503)
at com.wyh.cluster.node.connect.JDBCConnect.query(JDBCConnect.java:77)
at com.wyh.service.TripWorker.runRouteQuery(TripWorker.java:3557)
at com.wyh.service.TripWorker.getRouteInfo(TripWorker.java:3495)
at com.wyh.service.TripWorker.run(TripWorker.java:607)
at org.jppf.server.node.NodeTaskWrapper.run(NodeTaskWrapper.java:136)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:701)

当我在这里看看CassandraResultSet.java:1159时 http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/source/browse/src/main/java/org/apache/cassandra/cql/jdbc/CassandraResultSet.java?spec=svn3be43d719cf12d92d067c20b3d1c23682c25a304&r=61cefd982fd281f80fbb6485754c8f7831193114

这对我来说似乎更像是一个错误。在代码中生成的cql查询在cqlsh客户端中工作。任何解决方法。

更新

我现在转移到datastax驱动程序,我正在使用这些jar文件。 http://www.datastax.com/documentation/developer/java-driver/2.0/java-driver/reference/settingUpJavaProgEnv_r.html

现在,每当我尝试获取会话时,我都会收到此异常。令这个方法出现在课堂上的事实让人惊讶。

Caused by: java.lang.NoSuchMethodError: com.google.common.util.concurrent.ListenableFutureTask.create(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFutureTask;
at com.google.common.util.concurrent.AbstractListeningExecutorService.newTaskFor(AbstractListeningExecutorService.java:46)
at com.google.common.util.concurrent.AbstractListeningExecutorService.newTaskFor(AbstractListeningExecutorService.java:37)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:131)
at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:58)
at com.datastax.driver.core.SessionManager.addOrRenewPool(SessionManager.java:247)
at com.datastax.driver.core.SessionManager.init(SessionManager.java:66)
at com.datastax.driver.core.Cluster.connect(Cluster.java:199)

0 个答案:

没有答案