我们正在使用datastax Java驱动程序(v3.6.0)连接到Cassandra(v3.11)。每当我们的基础架构团队关闭节点上的Cassandra(以逐个节点修补OS的方式)时,我们的查询就可以正常运行。但是,我们确实在datastax驱动程序中看到由NullPointers引起的日志中相当多的错误:
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)
任何人都熟悉吗?在搜寻此问题时,我找不到很多东西,所以我想知道我们是在做错什么还是这是已知问题...