Commit graph

26 commits

Author SHA1 Message Date
John Esmet
7316bacdeb FT-396 Rename TokuDB to TokuFT in each license header 2014-08-21 15:35:06 -04:00
John Esmet
47f57224b7 FT-273 Use a comparator in the locktree instead of a
descriptor/ft_compare_func pair
2014-06-26 11:35:53 -04:00
John Esmet
b33e859c6a FT-273 Use a comparator object for fractal tree key comparisons when
possible, untangling the dependency between parameters 'ft->compare_fun' and
'ft->cmp_descriptor' in a sensible way. It is now much less necessary to
create a fake db (good) and some long parameter lists are now shorter
(it's a start)
2014-06-15 23:01:58 -04:00
John Esmet
b6abf2063c FT-259 Clean up memarena API / code. Use a memarena in the locktree to store
each transaction's ranges instead of a hand-rolled buffer.
2014-06-14 20:40:33 -04:00
John Esmet
21b3cd608b fixes #206 Factor out inner classes to be their own classes. Relax some
abstractions and strengthen others, with an eye for simplicity and
consistency, not over-encapsulation.
2014-03-06 16:22:18 -05:00
John Esmet
ddacebb1ea fixes #187 Add a paranoid invariant that left endpoints are <= right
endpoints on acquire and release.
2014-03-01 19:25:08 -05:00
Rich Prohaska
c8993dec4d #141 identify a big transaction and have it run lock escalation 2014-01-13 11:29:52 -05:00
Rich Prohaska
2796c2d35c tokutek/ft-index#76 add US Patent 8,489,638 2013-10-04 16:49:53 -04:00
John Esmet
3e85b387f4 refs #59 Add the locktree visualization APIs, new accessors in the DB and DB_TXN,
and a new operation in test_stress0 for stress testing coverage
2013-09-13 11:10:49 -04:00
Rich Prohaska
50aef9b7d9 #50 count lock tree timeouts 2013-08-21 16:10:43 -04:00
Leif Walsh
9f99932a76 refs #6566 fix typo in license text
git-svn-id: file:///svn/toku/tokudb@55577 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:36 -04:00
Leif Walsh
9fd20e61a4 refs #6566 add license text to all C/C++ files as a comment near the top
git-svn-id: file:///svn/toku/tokudb@55574 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:35 -04:00
Leif Walsh
84fef672e4 refs #6566 update all copyright strings to reflect an end year of 2013
git-svn-id: file:///svn/toku/tokudb@55567 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:35 -04:00
John Esmet
01c0320527 fixes #6100 #6232 track memory usage in each txn's range buffer, resetting on txn commit and in the escalation callback. large write transactions that get redundant locks in the locktree will now be under control.
git-svn-id: file:///svn/toku/tokudb@54278 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:30 -04:00
John Esmet
cf69a2b6bf fixes #6113 add instrumentation to the locktree, including memory stats, escalation stats, and single txnid optimization stats
git-svn-id: file:///svn/toku/tokudb@53781 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:30 -04:00
John Esmet
fba8312504 fixes #5961 pass a callback to the ydb layer when escalation occurs for a txnid, providing the locktree and range_buffer describing how to update the txn's internal data structures so they don't grow out of control for very long lived write transactions
git-svn-id: file:///svn/toku/tokudb@52941 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:29 -04:00
Leif Walsh
a1d664f010 refs #5965 fix some mutex initializations
git-svn-id: file:///svn/toku/tokudb@52884 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:29 -04:00
Leif Walsh
32698fa975 refs #5672 #5351 increase drd timeouts some more (ugh), make locktree stop reporting false positives
git-svn-id: file:///svn/toku/tokudb@51378 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:25 -04:00
John Esmet
33a99affe4 fixes #5771 merge the single txnid optimization to main. single threaded write performance is up 20-50% in mysql and multithreaded performance is largely unchanged.
git-svn-id: file:///svn/toku/tokudb@51108 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Leif Walsh
032ed0c0ca refs #5742 #5672 suppress more valgrind stuff
git-svn-id: file:///svn/toku/tokudb@50720 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:21 -04:00
John Esmet
b15afefe89 refs #5351 fix an overactive assert. just ignore the bit for now because the lock request layer does not know that write locks do not realy exist.
git-svn-id: file:///svn/toku/tokudb@49962 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:16 -04:00
John Esmet
43d1d20ae6 fix DRD failures in the threaded stress framework and locktree
git-svn-id: file:///svn/toku/tokudb@49960 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:16 -04:00
John Esmet
85594f4e49 refs #5351 fix various drd and helgrind related issues. tree rotations should no longer be problematic with race tools.
git-svn-id: file:///svn/toku/tokudb@49920 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:16 -04:00
Leif Walsh
a67344b336 refs #5351 tighten up acquire_lock after cleanup
git-svn-id: file:///svn/toku/tokudb@49863 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:15 -04:00
Leif Walsh
c08bafb348 refs #5351 clang compilation cleanup after 5351 merge
git-svn-id: file:///svn/toku/tokudb@49862 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:15 -04:00
John Esmet
65cd284834 fixes #5351 fixes #5528 merge the new locktree to main. the locktree, locktree manager, and blocking lock request api are implemented at the toplevel under locktree/ and the ydb layer has been modified to use the new API. some kruft has been deleted from various parts of the source tree and these merge also includes a change where we kill 'includes.h'
git-svn-id: file:///svn/toku/tokudb@49851 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:15 -04:00