我们使用DataStaxJava驱动程序(v3.6.0)连接到cassandra(v3.11)。每当我们的infra团队关闭一个节点上的cassandra(一个节点接一个节点地修补操作系统)时,我们的查询就会一直正常运行。但是,我们在日志中确实看到了一些由datastax驱动程序中的空指针引起的错误:
Error parsing schema from Cassandra system tables: the schema in Cluster#getMetadata() will appear incomplete or stale
java.lang.NullPointerException: null
at c.d.d.mapping.MappingManager$1.onTableChanged(MappingManager.java:160)
at c.d.driver.core.Metadata.triggerOnTableChanged(Metadata.java:696)
at c.d.driver.core.SchemaParser.updateTables(SchemaParser.java:484)
at c.d.driver.core.SchemaParser.refresh(SchemaParser.java:130)
at c.d.d.core.ControlConnection.refreshSchema(ControlConnection.java:408)
at c.d.d.core.ControlConnection.refreshSchema(ControlConnection.java:354)
at c.d.d.c.Cluster$Manager$SchemaRefreshRequestDeliveryCallback$1.runMayThrow(Cluster.java:2867)
at c.d.d.c.ExceptionCatchingRunnable.run(ExceptionCatchingRunnable.java:32)
at j.u.c.Executors$RunnableAdapter.call(Executors.java:511)
at c.g.c.u.c.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:111)
at c.g.c.u.c.InterruptibleTask.run(InterruptibleTask.java:58)
at c.g.c.u.c.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:75)
at j.u.c.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at j.u.c.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at i.n.u.c.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
有人觉得这个眼熟吗?虽然谷歌搜索这个问题,我找不到太多,所以我想知道我们是否做错了什么或这是一个已知的问题。。。
1条答案
按热度按时间1cklez4t1#
这是驱动程序中的一个错误。我已经创建了一个jira票证:java-2223。