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_Datastax_Cassandra 3.0 - Fatal编程技术网

请求超时未登录服务器端Cassandra

请求超时未登录服务器端Cassandra,cassandra,datastax,cassandra-3.0,Cassandra,Datastax,Cassandra 3.0,我在cassandra中将服务器超时设置为60秒,在cpp驱动程序中将客户端超时设置为120秒 我使用具有18K操作的批处理查询,我在cpp驱动程序日志中获得请求超时错误,但在Cassandra服务器日志中,没有可用的跟踪,尽管在Cassandra logback.xml中启用了所有日志 那么,如何确认它是从Cassandra中的服务器/客户端抛出的呢?批处理不打算以这种方式工作。它被设计成以原子方式将6或7个突变应用于不同的表。您试图像使用RDBMS一样使用它(Cassandra就是不这样工作

我在cassandra中将
服务器超时设置为60秒
,在cpp驱动程序中将
客户端超时设置为120秒

我使用具有18K操作的批处理查询,我在
cpp驱动程序日志中获得
请求超时
错误
,但在Cassandra服务器日志中,没有可用的跟踪,尽管在Cassandra logback.xml中启用了所有日志


那么,如何确认它是从Cassandra中的服务器/客户端抛出的呢?

批处理不打算以这种方式工作。它被设计成以原子方式将6或7个突变应用于不同的表。您试图像使用RDBMS一样使用它(Cassandra就是不这样工作)。批处理超时是为了保护节点/集群不因协调器的查询成本过高而崩溃

在system.log中,您应该看到与批处理的绝对大小有关的警告/失败。如果您修改了它们,但没有看到,您应该会看到一个超时阈值被超过的警告(我认为批处理在3.0中有自己的超时)

如果所有其他方法都失败了,请在cqlsh中运行批处理语句(其中的一部分)并启用跟踪,您将确切地看到为什么这是一个坏主意(服务器端)


另外,默认的查询超时也是为了保护集群。你真的不需要改变这些。在考虑调整超时之前,您应该更改查询/模型或方法。

谢谢您的回答。但我无法在系统中看到这些超时/绝对大小警告/错误。请检查:@Harry,从我所看到的来看,这个问题与此无关。