WIP: devising a better way to cache/reuse session/cursor pairs.
WIP: more caching work, still not done.
WIP: pieces in place, need to work out the kinks now.
WIP: use a log2 histogram to track how long items live in the cache, evict items which have been in cache greater than the mean time.
WIP: all tests (but drop) passing again, need to fix that and valgrind next.
WIP: replcae the kbtree with khash, we don't need the tree features (yet, if ever) and hash is faster; add a most-recently-used stash for contexts as it's highly likely that worker threads will do many operations with the same shape/signature of session/cursors/tables/config and that path can be lock-free as well making it much faster (one would hope); somewhere something is stepping on read-only ErlNifBinary data and so a crc check is failing and causing the runtime to abort, that's the latest item to find/fix.
WIP: a bit of cleanup fixes a few mistakes
WIP: basho_bench tests are running fine now, need more work to ensure cache is functioning properly.
Fixes for OS/X and whitespace cleanup.
WIP: simplify the cache from hash-of-lists to list; use a CAS() operation to protect the most-recently-used (mru) list.
Logic inversion on CAS() operation.
Some paranoia and a few fixes
WIP: remove potential for infinite loops with CAS and fix a few issues in async
WIP: cache wasn't returning items found
WIP: further simplifying context cache
A great deal of cleanup. EUnit and EQC tests pass.
Add a longer, multi-table test. Use a release version of WiredTiger from now on.
Add some debugging output.
Update debugging messages a bit. Fix a bug in the signature function.
Comment out a test that's not yet working.