> I have 4G memory and I tried to set the binary_memtable_throughput_in_mb to > 128M and 64M, It's still not work. > I do not have big rows, and no row cache,use default Consistency_level... > Any ideas?
Assuming you truly don't have large rows; what's your memtable thresholds set to? Make sure it is not too large. You can confirm by logging at logged GC:s (if you run with e.g. -Xloggc:path/to/gclog) or by attaching with jconsole, what your actual heap usage is. if it is far below your maximum heap size and suddenly get the OOM that indicates there is a huge allocation being attempted. If not, that indicates you're actually using a lot of heap for real, relative to maximum heap size, and you need to adjust memtable thresholds/row cache/etc that are expected to and do consume memory. Note that during log reply writes will tend to happen pretty fast, so if you do have a condition whereby you can't sustain a memtable being flushed while another one is significantly filling you may be triggering this deterministically on start-up but not normally during normal operation. -- / Peter Schuller