我有一个节点Cassandra集群,它命中ReadTimeOutException
,我在服务器中观察到以下日志,这对我来说很奇怪,
ERROR [SharedPool-Worker-91] 2018-05-29 12:09:53,023 ErrorMessage.java:338 - Unexpected exception during request
java.lang.RuntimeException: org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - received only 1 responses.
at org.apache.cassandra.auth.CassandraRoleManager.getRole(CassandraRoleManager.java:489) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.auth.CassandraRoleManager.getRoles(CassandraRoleManager.java:269) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.auth.RolesCache.getRoles(RolesCache.java:66) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.auth.Roles.hasSuperuserStatus(Roles.java:51) ~[apache-cassandra-3.0.8.jar:3.0.8]
at org.apache.cassandra.auth.AuthenticatedUser.isSuper(AuthenticatedUser.java:71) ~[apache-cassandra-3.0.8.jar:3.0.8]
它表示操作超时 - 只收到1个回复。,在单个节点中为什么会说它有多个响应?有人可以解释一下。
注意:我为此system_auth
键空间启用了不同的策略
CREATE KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenterproc': '1'} AND durable_writes = true;
并将一致性级别设置为LOCAL_QUORUM
Cassandra服务器版:3.0.8
这会是一个原因吗?
非常感谢任何帮助。
谢谢,
哈利
答案 0 :(得分:2)
GC超过超时(就像您在其他问题中发布的9秒GC)可能导致内部身份验证超时。很可能它收到了响应,有GC,然后注册为超时。