Cassandra 3.2在Cassandra.db.marshal.TimestampType.compareCustom(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I上崩溃
问题: 卡桑德拉每3-4小时发生一次撞车事故: #J 8283 C2 org.apache.cassandra.db.marshal.TimestampType.compareCustom(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I(6字节)@0x00002b7d3d417fb4[0x00002b7d3d417c80+0x334] 配置:Cassandra 3.2在Cassandra.db.marshal.TimestampType.compareCustom(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I上崩溃,java,cassandra,jvm,timestamp,bytebuffer,Java,Cassandra,Jvm,Timestamp,Bytebuffer,问题: 卡桑德拉每3-4小时发生一次撞车事故: #J 8283 C2 org.apache.cassandra.db.marshal.TimestampType.compareCustom(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I(6字节)@0x00002b7d3d417fb4[0x00002b7d3d417c80+0x334] 配置: Xms8G Xmx16G apache-cassandra-3.2和Java-1.8.0_161-b12 h
- Xms8G
- Xmx16G
- apache-cassandra-3.2和Java-1.8.0_161-b12
# Problematic frame:
# J 8283 C2 org.apache.cassandra.db.marshal.TimestampType.compareCustom(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I (6 bytes) @ 0x00002b7d3d417fb4 [0x00002b7d3d417c80+0x334]
有人遇到过类似的问题吗?很可能,这是一个JVM错误,我会尝试更新181。解决了这个问题。CQL查询未优化,正在执行反模式查询,这是导致此问题的原因。查询将在in子句中包含多个500+分区键值是根本原因。这是一种仅由JVM中的错误(或Cassandra中的低级访问)引起的错误。如果不执行此查询可能会避免问题,则不可能构造具有此错误的查询。谢谢@PeterLawrey。我们将计划将Java升级到1.8,如果再次出现,我们将更新线程。