A couple of bugs have shown up after a whole bunch of testing. One was a concurrency issue in the YCSB log writer (The log is written from a Java Vector, so had synchronization issues when I tried to write from the consistency checking thread). I kept the vector, but changed it so it performed its write from within a synchronized block.
The other bug was quite interesting. I had not tested with a number of keys above 10000, revealing a flaw: nulls were being put into the work queue from reads of pre-existent writes. This resulted in an NPE during the consistency checking. These are now discarded.
The fixing of these issues will allow me to get a wider range of results.
I should probably post my git repos here too.
These are the parsers I wrote for producing results:
I won’t be posting my main algorithm until the thesis proper is complete. It needs quite a bit of refactoring before I feel it will be presentable.
Results are still coming in for processing. Doing over 4000 test runs per day!
Perfect instructions for using ssh:
cd ~/.vim svn export --force http://lampsvn.epfl.ch/svn-repos/scala/scala-tool-support/trunk/src/vim .
My procedures have been debugged, approved and I have been pulling results. Happy days…
I have worked out the majority of the algorithm logic, but there a few bugs to squash.
The next priority is to set up the set of false transactions, so that we may test the database’s consistency properties.