对于最大值16777216,17076203字节的突变太大

vrt*_*234 5 cassandra kairosdb datastax

我在cassandra设置中有"commitlog_segment_size_in_mb:32",但下面的错误表明最大大小是16777216,大约是16mb.我正在查看修正下面错误的正确设置吗?

我指的是基于http://mail-archives.apache.org/mod_mbox/cassandra-user/201406.mbox/%3C53A40144.2020808@gmail.com%3E上提供的建议.

我正在使用2.1.0-2 for Cassandra.

我使用的是Kairosdb,写缓冲区最大大小为0.5Mb.

WARN  [SharedPool-Worker-1] 2014-10-22 17:31:03,163 AbstractTracingAwareExecutorService.java:167 - Uncaught exception on thread Thread[SharedPool-Worker-1,5,main]: {}
java.lang.IllegalArgumentException: Mutation of 17076203 bytes is too large for the maxiumum size of 16777216
        at org.apache.cassandra.db.commitlog.CommitLog.add(CommitLog.java:216) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.commitlog.CommitLog.add(CommitLog.java:203) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:371) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:351) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.Mutation.apply(Mutation.java:214) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.db.MutationVerbHandler.doVerb(MutationVerbHandler.java:54) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:62) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.7.0_67]
        at org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:163) ~[apache-cassandra-2.1.0.jar:2.1.0]
        at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:103) [apache-cassandra-2.1.0.jar:2.1.0]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_67]
Run Code Online (Sandbox Code Playgroud)

pha*_*act 9

您正在查看.yaml中的正确参数.允许的最大写入大小C*是commit_log_segment_size_in_mb的一半,默认值是32mb,因此默认的最大大小将是16mb.

背景

commit_log_segment_size_in_mb表示提交日志存档或时间点备份的块大小.只有在commitlog_archiving.properties文件中配置了archive_command或restore_command时,这些才会处于活动状态.