Cassandra 节点修补期间的 NullPointerExceptions

NullPointerExceptions during Cassandra node patching

我们正在使用 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.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.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)

有没有人觉得这很眼熟?在谷歌搜索这个问题时我找不到太多,所以我想知道我们是否做错了什么或者这是一个已知问题...

这是驱动程序中的错误。我创建了一张 JIRA 票证:JAVA-2223.