节点移动后 Cassandra nodejs 驱动程序超时
Cassandra nodejs driver time out after a node moves
我们在集群上使用 vnode。
我注意到当节点的令牌 space 发生变化时(自动在 vnodes 上,在添加新节点后的修复或清理期间),datastax nodejs 驱动程序得到很多 "Operation timed out - received only X responses"几分钟。
我尝试使用 ONE 和 LOCAL_QUORUM 一致性。
我想这是因为协调器在移动后没有击中正确的节点。这似乎是一种合乎逻辑的行为(数据已移动),但我们确实想解决这个特定问题。
你们建议我们应该怎么做才能避免这种情况?有自定义重试策略?缓存?改变一致性 ?
行为示例
当我们看到这个时:
4/7/2016, 10:43am Info Host 172.31.34.155 moved from '8185241953623605265' to '-1108852503760494577'
我们看到了其中的一个峰值:
{
"message":"Operation timed out - received only 0 responses.",
"info":"Represents an error message from the server",
"code":4608,
"consistencies":1,
"received":0,
"blockFor":1,
"isDataPresent":0,
"coordinator":"172.31.34.155:9042",
"query":"SELECT foo FROM foo_bar LIMIT 10"
}
I suppose this is due to the coordinator not hitting the right node just after the move. This seems to be a logical behavior (data was moved) but we really want to address this particular issue.
事实上,当添加新节点时,令牌范围会发生移动,但 Cassandra 仍然可以使用 old 令牌范围为读取请求提供服务,直到完全扩展完成。所以你面临的行为非常可疑。
如果您可以重现此错误,请激活查询跟踪以缩小问题范围。
该错误也可能与负载过重且回复速度不够快的节点有关
我们在集群上使用 vnode。
我注意到当节点的令牌 space 发生变化时(自动在 vnodes 上,在添加新节点后的修复或清理期间),datastax nodejs 驱动程序得到很多 "Operation timed out - received only X responses"几分钟。
我尝试使用 ONE 和 LOCAL_QUORUM 一致性。
我想这是因为协调器在移动后没有击中正确的节点。这似乎是一种合乎逻辑的行为(数据已移动),但我们确实想解决这个特定问题。
你们建议我们应该怎么做才能避免这种情况?有自定义重试策略?缓存?改变一致性 ?
行为示例
当我们看到这个时:
4/7/2016, 10:43am Info Host 172.31.34.155 moved from '8185241953623605265' to '-1108852503760494577'
我们看到了其中的一个峰值:
{
"message":"Operation timed out - received only 0 responses.",
"info":"Represents an error message from the server",
"code":4608,
"consistencies":1,
"received":0,
"blockFor":1,
"isDataPresent":0,
"coordinator":"172.31.34.155:9042",
"query":"SELECT foo FROM foo_bar LIMIT 10"
}
I suppose this is due to the coordinator not hitting the right node just after the move. This seems to be a logical behavior (data was moved) but we really want to address this particular issue.
事实上,当添加新节点时,令牌范围会发生移动,但 Cassandra 仍然可以使用 old 令牌范围为读取请求提供服务,直到完全扩展完成。所以你面临的行为非常可疑。
如果您可以重现此错误,请激活查询跟踪以缩小问题范围。
该错误也可能与负载过重且回复速度不够快的节点有关