ReadRepairStage错误消息超时

时间:2019-07-18 17:16:49

标签: cassandra datastax-enterprise

我们正在使用Apache Cassandra 3.11.4。最近,我们在整个集群中看到过载的readrepair ERROR消息,因为我们遇到了超时..我无法找到根本原因。感谢有关此问题的任何投入。

错误[ReadRepairStage:2537] 2019-07-18 17:08:15,119 CassandraDaemon.java:228-线程Thread [ReadRepairStage:2537,5,main]中的异常 org.apache.cassandra.exceptions.ReadTimeoutException:操作超时-仅收到1个响应。 在org.apache.cassandra.service.DataResolver $ RepairMergeListener.close(DataResolver.java:202)〜[apache-cassandra-3.11.3.jar:3.11.3] 在org.apache.cassandra.db.partitions.UnfilteredPartitionIterators $ 2.close(UnfilteredPartitionIterators.java:175)〜[apache-cassandra-3.11.3.jar:3.11.3] 在org.apache.cassandra.db.transform.BaseIterator.close(BaseIterator.java:92)〜[apache-cassandra-3.11.3.jar:3.11.3] 在org.apache.cassandra.service.DataResolver.compareResponses(DataResolver.java:79)〜[apache-cassandra-3.11.3.jar:3.11.3] 在org.apache.cassandra.service.AsyncRepairCallback $ 1.runMayThrow(AsyncRepairCallback.java:50)〜[apache-cassandra-3.11.3.jar:3.11.3] 在org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)〜[apache-cassandra-3.11.3.jar:3.11.3] 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)〜[na:1.8.0_212] 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)〜[na:1.8.0_212] 在org.apache.cassandra.concurrent.NamedThreadFactory.lambda $ threadLocalDeallocator $ 0(NamedThreadFactory.java:81)〜[apache-cassandra-3.11.3.jar:3.11.3] 在java.lang.Thread.run(Thread.java:748)〜[na:1.8.0_212]

将dclocalreadrepair减少为0.0

1 个答案:

答案 0 :(得分:1)

超时是尝试修复时的常见问题,并且如果没有错误的更多详细信息或您的配置,这将是一团糟。

  • 修复取决于磁盘空间,因为它会创建文件的临时副本,根据经验,磁盘利用率应低于或等于50%,以确保您有足够的空间。
  • 如果群集受到压力,则修复可能会延迟/中止,在这种情况下,您可能需要扩展群集以增加可用资源。
  • 您可能想看看Aaron中的其他有关维修中JVM设置更新的建议。

还要注意,自Cassandra 3.11.3起,设置read_repair_chancedc_read_repair_chanceremoved,因为它们的名称会误导所获得的结果。添加它们不会有任何效果。