Thanks Simon for the info. I didn't know that the maximum payload size is related to commit log config, interesting ...
On Fri, Jun 20, 2014 at 11:39 AM, Simon Chemouil <schemo...@gmail.com> wrote: > OK, so Cassandra 2.1 now rejects writes it considers too big. It is > possible to increase the value by changing commitlog_segment_size_in_mb > in cassandra.yaml. It defaults to 32MB, and the maximum segment size for > a write is half that value: > > from CommitLog.java: > // we only permit records HALF the size of a commit log, to ensure we > don't spin allocating many mostly > // empty segments when writing large records > private static final long MAX_MUTATION_SIZE = > DatabaseDescriptor.getCommitLogSegmentSize() >> 1; > > > which explains (with the request overhead) why my ~30,5MB blob was > rejected. > > Simon > > Le 20/06/2014 11:24, Simon Chemouil a écrit : > > For the record, I could reproduce the problem with blobs of size below > 64MB. > > > > Caused by: java.lang.IllegalArgumentException: Mutation of 32000122 > > bytes is too large for the maxiumum size of 16777216 > > > > 32000122 is just ~30MB and fails on 2.1-rc1 while it works on 2.0.X for > > even larger values (up to 64MB works fine) > > > > Simon > > > > Le 20/06/2014 11:00, Simon Chemouil a écrit : > >> Le 20/06/2014 10:41, Duncan Sands a écrit : > >>> Hi Simon, > >>> 122880122 bytes is a lot more than 0.6MB... How are you sending your > blob? > >> > >> Turns out there was a mistake in my code. The blob in this case was > >> actually 122MB! > >> Still the same code works fine on Cassandra 2.0.x so there might be a > >> bug lurking. Even if it's definitely above the recommended limit. > >> > >> Simon > >> >