Fix Version/s: 2.0.10
Casandra 1.2.3 - 1.2.18
I was running repair command with moderate read and write load at the same time. And I found tens of IndexOutOfBoundsException in system log as follows:
ERROR [Thread-6056] 2013-05-22 14:47:59,416 CassandraDaemon.java (line132) Exception in thread Thread[Thread-6056,5,main]
I read the source code of CompressedInputStream.java and found there surely will throw IndexOutOfBoundsException in the following situation:
If read function read nothing because the end of the stream has been reached, it will return -1, thus bufferRead can be negetive. In the next circle, read function will throw IndexOutOfBoundsException because bufferRead is negetive.