在Cassandra中更新表时间歇性地出现InvalidQueryException

时间:2018-03-21 10:19:06

标签: database cassandra cql cqlsh cassandra-2.1

我面临着一个特殊的问题。我们已经设置了LOCAL_QUORUM的一致性。我有一个长期运行的工作,不时更新数据库。 在这些更新之间,我们间歇地看到以下问题:

com.datastax.driver.core.exceptions.InvalidQueryException: SERIAL is not supported as conditional update commit consistency. Use ANY if you mean "make sure it is accepted but I don't care how many replicas commit it for non-SERIAL reads"
    at com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:35) ~[cassandra-driver-core-2.1.7.1.jar:na]
    at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:269) ~[cassandra-driver-core-2.1.7.1.jar:na]
    at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:183) ~[cassandra-driver-core-2.1.7.1.jar:na]
    at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52) ~[cassandra-driver-core-2.1.7.1.jar:na]

不知道为什么会出现这种情况,因为无论如何我们还没有将我们的一致性设置为SERIAL。任何帮助/建议/指针都会很棒。 以下是DSE和cql版本:

[cqlsh 5.0.1 | Cassandra 2.1.15.1403 | DSE 4.8.9 | CQL规范3.2.1 |原生协议v3]

1 个答案:

答案 0 :(得分:0)

看起来你遇到了JAVA-764错误。 DSE 4.8.9使用Java驱动程序2.1.7.1,而错误在2.1.10中修复,因此您需要升级代码以使用更新版本的驱动程序。