[ https://issues.apache.org/jira/browse/CASSANDRA-2581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chris Goffinet updated CASSANDRA-2581: -------------------------------------- Attachment: 0001-Rebuffer-called-excessively-during-seeks.patch > Rebuffer called excessively during seeks > ---------------------------------------- > > Key: CASSANDRA-2581 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2581 > Project: Cassandra > Issue Type: Bug > Affects Versions: 0.8.1 > Reporter: Chris Goffinet > Assignee: Chris Goffinet > Priority: Minor > Attachments: 0001-Rebuffer-called-excessively-during-seeks.patch > > > When doing an strace tonight, I noticed during memtable flushes that we were > only writing 1KB per every write() system call...After diving more into it, > it's because of a bug in the seek() code. > if (newPosition >= bufferOffset + validBufferBytes || newPosition < > bufferOffset) > vs. > if (newPosition > (bufferOffset + validBufferBytes) || newPosition < > bufferOffset) > Two things I noticed, we shouldn't need to rebuffer if newPosition is equal > to bufferOffset + validBufferBytes, second the evaluation was doing > (newPosition >= bufferOffset) + validBufferBytes which always seemed to be > true. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira