清除cassandra 3.0.10中的已准备语句缓存
我们在centos上安装了cassandra 3.0.10。开发人员在准备语句时犯了一些编码错误。结果是准备好的语句缓存溢出,我们总是收到被逐出的错误消息。错误如下所示:清除cassandra 3.0.10中的已准备语句缓存,cassandra,Cassandra,我们在centos上安装了cassandra 3.0.10。开发人员在准备语句时犯了一些编码错误。结果是准备好的语句缓存溢出,我们总是收到被逐出的错误消息。错误如下所示: INFO [ScheduledTasks:1] 2017-12-07 10:38:28,216 QueryProcessor.java:134 - 7 prepared statements discarded in the last minute because cache limit reached (8178944 by
INFO [ScheduledTasks:1] 2017-12-07 10:38:28,216 QueryProcessor.java:134 - 7 prepared statements discarded in the last minute because cache limit reached (8178944 bytes)
我们已经更正了准备好的语句,希望刷新准备好的语句缓存,从头开始。我们已停止并重新启动cassandra实例,但未重置准备好的语句计数
Cassandra 3.0.10安装在centos上,我们使用svcadm禁用/启用Cassandra来停止/启动Cassandra
我注意到在后来的cassandra版本中,例如3.11.1,在系统键空间下有一个准备好的_语句表。关闭cassandra并删除文件${cassandra_HOME}/data/data/system/prepared_statements-*
,然后重新启动cassandra实际上会重置prepared_语句缓存
谢谢你在这方面的帮助
谢谢
更新:2018-06-01
我们目前正在使用一种变通方法,通过删除索引,然后在表上重新创建索引,来清除与某些表关联的准备好的语句。这将丢弃依赖于已定义索引的已准备语句。现在,这是我们能做的最多的了。问题是,若这对并没有定义索引的表不起作用
仍然需要更好的方法来执行此操作,例如使用一些管理命令来清除缓存