Aerospike can not write


#1

Aerospike can not write ,but it’s not reach HWM. it can not evict.

my parameter: asinfo -v “set-config:context=service;nsup-period=10” asinfo -v “set-config:context=service;nsup-delete-sleep=10” asinfo -v “set-config:context=namespace;id=ns1;evict-tenths-pct=900” can you give me some reason, and how can i solve . thanks


#2

For some reason you are not defragging your blocks on the device after evicting the records. Are the records still in post-write-queue i.e. is your post-write-queue very big? Is your defrag-lwm-pct set to a very low number instead of 50? What is your namespace configuration stanza look like? what is your write-block-size? what is your avg record size? and what is your record write/update rate? device storage size? (BTW, you are evicting the records but the space is not being recovered by the defragging thread.)


#3

write-block-size:1MB avg blocksize: close to 512K,may be larger. yes , it use storage-engine.defrag-lwm-pct=50 , storage-engine.post-write-queue=256 as default.


#4

I think your problem may be this unusually large record size which higher than 50% of the block size. With server ver 4.2.0.2+, you can set write-block-size to 2MB / 4MB or 8MB on the high side.

With disk HWM for eviction set at 60%, you can fill all your available blocks, each containing one record that is say 55% of 1MB in size, not have any more free blocks available and hit stop writes. So try setting disk HWM at 50% instead of 60%, this will force evictions freeing up an entire block. If this helps, consider upgrading to latest server version or above version 4.2.0.2 for your use case, if possible to transition easily and then use a larger write-block-size.

(I am assuming >512K is the size of a single record in your case… did you mean any thing other?)


#5

ok,thanks. i will try it.