Write rejecting error message in Log


#1

Hello,

In my configuration, I have set write-block-size to 32k. When I run C client benchmark - target/benchmarks -h 127.0.0.1 -p 3000 -n test -k 1000000000 -b 2 -o S:32768 -w I -z 8, I see error messages in log

Sep 19 2016 04:47:47 GMT: WARNING (drv_ssd): (drv_ssd.c:1555) write: rejecting 5463eb0ee99bb641 write size: 32896 Sep 19 2016 04:47:47 GMT: WARNING (drv_ssd): (drv_ssd.c:1555) write: rejecting 42be361ca3b6fa97 write size: 32896 Sep 19 2016 04:47:47 GMT: WARNING (rw): (write.c:1237) {test} write_master: failed as_storage_record_write() :0x41b69be90eeb6354004d3cbd5e4c44fa2f84f516 Sep 19 2016 04:47:47 GMT: WARNING (drv_ssd): (drv_ssd.c:1555) write: rejecting 819f21bf5c2ba54 write size: 32896 Sep 19 2016 04:47:47 GMT: WARNING (rw): (write.c:1237) {test} write_master: failed as_storage_record_write() :0x97fab6a31c36be42f28618b7c2607fa67dc529c7

write-block-size is key+value size? While running benchmark, I give value size = 32k. Is this correct?


#2

The warning message “rejecting … write size:…” implies the write size is larger than the SSD write block size.

Check your configuration for write-block-size.


#3

I just tried the command on version 3.8.2 and it is running fine but on a larger write-block-size. The size of the records will have some over-heads (so it seems that your string of size 32768 will tend to always be bigger than 32k write-block-size).

More details on data storage: http://www.aerospike.com/docs/operations/plan/capacity#data-storage-required


#4

Hi, sorry for late reply.

I did not consider record overhead factor. I was keeping write-block-size to 32k and inserting string data of size 32k. Storage required for one record is some overhead size + data size, thats why writes were getting rejected. Thanks for pointing to this link. This did solve my problem. Thanks.