我从Cassandra读取数据时遇到TraceRetrievalException

时间:2019-04-12 13:49:25

标签: java datastax cassandra-3.0 cqlsh

我正在尝试从数据库读取特定数据。并执行查询以获得结果。我在一段时间(true)循环中运行代码,以便一次又一次地进行操作。

在某些迭代中,我得到结果,但在某些情况下,它显示com.datastax.driver.core.exceptions.TraceRetrievalException,并且无法获取查询的执行时间。 Cassandra版本3.11.4,Datastax版本3.7

引发异常:

com.datastax.driver.core.exceptions.TraceRetrievalException: Unable to retrieve complete query trace for id bf7902b0-5d26-11e9-befd-d97cd54dc732 after 5 tries
    at com.datastax.driver.core.QueryTrace.doFetchTrace(QueryTrace.java:242)
    at com.datastax.driver.core.QueryTrace.maybeFetchTrace(QueryTrace.java:176)
    at com.datastax.driver.core.QueryTrace.getDurationMicros(QueryTrace.java:105)
    at com.cassandra.datastax.DatastaxTestBootstrapper.lambda$0(DatastaxTestBootstrapper.java:227)
    at java.util.Collections$SingletonList.forEach(Collections.java:4822)
    at com.cassandra.datastax.DatastaxTestBootstrapper.readData(DatastaxTestBootstrapper.java:227)
    at com.cassandra.datastax.MultipleThread.run(MultipleThread.java:13)
    at java.lang.Thread.run(Thread.java:748)

有什么办法可以克服此异常,还是可以增加重试次数以检索完整的查询跟踪?

Statement statement1 = new SimpleStatement(
                    "SELECT * FROM keyspace.table where key='405861500500033'").enableTracing();
            ResultSet resultSet = session.execute(statement1);

            resultSet.getAllExecutionInfo()
                    .forEach(e -> System.out.println("time  :  " + e.getQueryTrace().getDurationMicros()));

0 个答案:

没有答案