我在cassandra的debug.log中持续看到这个错误,
WARN [SharedPool-Worker-2] 2018-05-16 08:33:48,585 BatchStatement.java:287 - Batch of prepared statements for [test, test1] is of size 6419, exceeding specified threshold of 5120 by 1299.
在此
where,
6419 - Input payload size (Batch)
5120 - Threshold size
1299 - Byte size above threshold value
所以根据Cassandra的这张票,https://github.com/krasserm/akka-persistence-cassandra/issues/33我看到这是由于输入有效载荷大小的增加所以我将cassandra.yml中的commitlog_segment_size_in_mb
增加到60mb
而我们不再面对这个警告了。
此警告有害吗?增加commitlog_segment_size_in_mb会影响性能吗?
谢谢,
哈利
答案 0 :(得分:2)
这与提交日志大小没有直接关系,我想知道为什么它的变化会导致警告消失......
批量大小阈值由batch_size_warn_threshold_in_kb
参数控制,默认为5kb(5120字节)。
您可以将此参数增加到更高的值,但您确实需要有充分的理由使用批次 - 了解其使用情况会很好...
答案 1 :(得分:-1)
commit_log_segment_size_in_mb表示提交日志归档或时间点备份的块大小。只有在commitlog_archiving.properties文件中配置了archive_command或restore_command时,这些才会处于活动状态。 默认大小为32mb。
根据专家Apache Cassandra管理书:
moment('05-17-2018 23:40 AM', 'MM-DD-YYYY hh:mm A')
你可以参考这个:
Mutation of 17076203 bytes is too large for the maxiumum size of 16777216