请求超时未登录服务器端Cassandra
我在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就是不这样工作
服务器超时设置为60秒
,在cpp驱动程序中将客户端超时设置为120秒
我使用具有18K操作的批处理查询,我在cpp驱动程序日志中获得请求超时
错误
,但在Cassandra服务器日志中,没有可用的跟踪,尽管在Cassandra logback.xml中启用了所有日志
那么,如何确认它是从Cassandra中的服务器/客户端抛出的呢?批处理不打算以这种方式工作。它被设计成以原子方式将6或7个突变应用于不同的表。您试图像使用RDBMS一样使用它(Cassandra就是不这样工作)。批处理超时是为了保护节点/集群不因协调器的查询成本过高而崩溃 在system.log中,您应该看到与批处理的绝对大小有关的警告/失败。如果您修改了它们,但没有看到,您应该会看到一个超时阈值被超过的警告(我认为批处理在3.0中有自己的超时) 如果所有其他方法都失败了,请在cqlsh中运行批处理语句(其中的一部分)并启用跟踪,您将确切地看到为什么这是一个坏主意(服务器端)
另外,默认的查询超时也是为了保护集群。你真的不需要改变这些。在考虑调整超时之前,您应该更改查询/模型或方法。谢谢您的回答。但我无法在系统中看到这些超时/绝对大小警告/错误。请检查:@Harry,从我所看到的来看,这个问题与此无关。