Cassandra批量准备语句大小警告

时间:2018-05-17 07:00:55

标签: apache cassandra cassandra-3.0

我在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会影响性能吗?

谢谢,
哈利

2 个答案:

答案 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