Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单节点cassandra中的重载异常_Cassandra_Cassandra 3.0 - Fatal编程技术网

单节点cassandra中的重载异常

单节点cassandra中的重载异常,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,我通读了这一页:发现Cassandra中的overloadeexception是由于 协调器跟踪当前写入的提示数量,如果数量增加过多,协调器将拒绝写入并抛出OverloadeException异常。 但是我使用单个节点,并且能够频繁地获取重载异常,那么在一致性为1,复制因子为1的单节点中出现重载异常的原因是什么 编辑: JMX中正在进行的提示总数 1) 这是获取重载异常的唯一方法吗? 2) 为什么在单个节点中出现过载异常? 3) 在单个节点中何时调用此checkHintOverload方法

我通读了这一页:发现
Cassandra
中的
overloadeexception
是由于

协调器跟踪当前写入的提示数量,如果数量增加过多,协调器将拒绝写入并抛出OverloadeException异常。

但是我使用单个节点,并且能够频繁地获取重载异常,那么在
一致性为1,复制因子为1的单节点中出现重载异常的原因是什么

编辑:

JMX中正在进行的提示总数

1) 这是获取重载异常的唯一方法吗?
2) 为什么在单个节点中出现过载异常?
3) 在单个节点中何时调用此checkHintOverload方法

注意

1) 我的密钥空间已配置NetworkTopologyStrategy,这是原因吗<代码>使用复制创建键空间测试={'class':'NetworkTopologyStrategy','datacenter_1':'1'}和持久_writes=true

2) hinted_handoff=在cassandra.yaml中启用,我仍然怀疑它是否会触发单节点中的提示,如果是,为什么

3) 一致性级别是此单个节点中的仲裁


这三个参数中的任何一个可能是导致这种情况的原因吗?

不,提示是获取该异常的唯一方法。您是否可以检查mbean“org.apache.cassandra.metrics:type=Storage name=TotalHintInProgress”?@SimonFontanaOscarsson它是单个节点,因此不可能有提示?另外,在哪里可以找到“org.apache.cassandra.metrics:type”?\n如果没有其他JMX客户端,可以使用jconsole查看值。因为这是一个单节点,所以不应该有任何提示,但没有其他方法可以做到这一点。@Simonfontanaoscarson我在同一个问题中添加了该图像,您能告诉我您的观察结果吗?在cassandra中还提示了\u切换=已启用。yaml@SimonFontanaOscarsson一致性级别也是此单个节点中的仲裁
I checked in the code :

 private static void checkHintOverload(InetAddressAndPort destination)
    {
        // avoid OOMing due to excess hints.  we need to do this check even for "live" nodes, since we can
        // still generate hints for those if it's overloaded or simply dead but not yet known-to-be-dead.
        // The idea is that if we have over maxHintsInProgress hints in flight, this is probably due to
        // a small number of nodes causing problems, so we should avoid shutting down writes completely to
        // healthy nodes.  Any node with no hintsInProgress is considered healthy.
        if (StorageMetrics.totalHintsInProgress.getCount() > maxHintsInProgress
                && (getHintsInProgressFor(destination).get() > 0 && shouldHint(destination)))
        {
            throw new OverloadedException("Too many in flight hints: " + StorageMetrics.totalHintsInProgress.getCount() +
                                          " destination: " + destination +
                                          " destination hints: " + getHintsInProgressFor(destination).get());
        }
    }