Try turning up the logging to DEBUG and watch the requests come through. Check that the two inserts do indeed have different time stamps.
In cases of lost updates, timestamps are most often the cause of the kerfuffle. btw, in this situation the commit log is a red hearing riding a scapegoat. Data is dumped into the commit log for durability at the start of the write request, but it is never read from there. Data is read from memtables and sstables. Cheers ----------------- Aaron Morton Freelance Cassandra Developer @aaronmorton http://www.thelastpickle.com On 27/09/2011, at 9:27 AM, Rick Whitesel (rwhitese) wrote: > Thank you to all for the quick response. The test that fails is doing a > insert, another insert (to update data) and then a get to validate. If I make > multiple copies of the same test and execute them in succession, different > copies will fail on successive runs. Each test only has a single get, so one > would assume the get in testN must be causing testN+1 to fail. It is going > to take me a little bit to dig down deep enough into our code to see if that > is the issue. > > -Rick > > From: Jonathan Ellis [mailto:[email protected]] > Sent: Monday, September 26, 2011 3:34 PM > To: [email protected] > Subject: Re: Update of column sometimes takes 10 seconds > > Sounds a lot like this to me: > http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/Updates-lost-td6739612.html > > On Mon, Sep 26, 2011 at 1:55 PM, Rick Whitesel (rwhitese) > <[email protected]> wrote: > Hi All: > > We have a simple junit test that inserts a column, immediately updates that > column and then validates that the data updated. Cassandra is run embedded in > the unit test. Sometimes the test will pass, i.e. the updated data is > correct, and sometimes the test will fail. The configuration is set to: > > <CommitLogSync>periodic</CommitLogSync> and > <CommitLogSyncPeriodInMS>10000</CommitLogSyncPeriodInMS> > > We are running version 0.6.9. We plan to update to the latest version but > cannot until after the release we are wrapping up. We are using the client > batch mutate to create and update the data. From what I understand, the > commit log write will return immediately and the data will be store in > memory. If that is the case, then why would our test sometimes fail? > > -Rick Whitesel > > > Simplify, Standardize and Conserve > > > <image001.gif> > > Rick Whitesel > Technical Lead > Customer Contact Business Unit > > [email protected] > Phone :978-936-0479 > > 500 Beaver Brook Road > Boxboro, MA 01719 > Mailing address: > 1414 Massachusetts Avenue > Boxboro, MA 01719 > United States > www.cisco.com > > > > > > -- > Jonathan Ellis > Project Chair, Apache Cassandra > co-founder of DataStax, the source for professional Cassandra support > http://www.datastax.com
