Commit graph

168 commits

Author SHA1 Message Date
Zardosht Kasheff
308fff4577 closes #5171, don't reference cachefile or fd in flush_callback when calling cachetable_free_pair, fix cachetable-test2 and toku_rollback_flush_callback to take this into account
git-svn-id: file:///svn/toku/tokudb@45100 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
Zardosht Kasheff
23f9000a87 refs #5171, fix cachetable-test.c
git-svn-id: file:///svn/toku/tokudb@45099 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
Zardosht Kasheff
57203d20b8 refs #5171, remove tabs from cachetable-test2
git-svn-id: file:///svn/toku/tokudb@45098 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
John Esmet
92be5bc8ae [t:5133] properly fix the memory leak introduced earlier today.
the big idea is that we need to allocate space for a leaf entry and keep it around if we want to create a ULE for it. so now the provisional info holds a pointer to both the le and the ule so the caller can free it later.


git-svn-id: file:///svn/toku/tokudb@45071 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
Bradley C. Kuszmaul
6df381afb1 refs #5138 add code that will help debug the lzma failure tonight
git-svn-id: file:///svn/toku/tokudb@45070 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
John Esmet
f2df2994c5 refs #5164 fix some garbage in the threaded helpers file
also fix the ule interface to not use const, since it doesn't do what I want because of a pesky typedef


git-svn-id: file:///svn/toku/tokudb@45064 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
Zardosht Kasheff
beb00d9edd refs #4964, add some comments for changing a descriptor
git-svn-id: file:///svn/toku/tokudb@45060 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
Yoni Fogel
d2b02de315 refs #5153 minor cleanups from review
git-svn-id: file:///svn/toku/tokudb@45058 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
John Esmet
83b5038c67 [t:5133] fix a memory leak, clean up the ule API.
git-svn-id: file:///svn/toku/tokudb@45044 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:54 -04:00
Leif Walsh
0c3a284313 [t:4871] set generated
git-svn-id: file:///svn/toku/tokudb@45015 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:54 -04:00
Yoni Fogel
bb0c2acf6d refs #5153 minor cleanups from review
git-svn-id: file:///svn/toku/tokudb@45006 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:54 -04:00
Yoni Fogel
9cec4ca1f9 closes #5149 Skips taking MO lock for readonly transactions on
commit, abort, and prepare

git-svn-id: file:///svn/toku/tokudb@44989 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:54 -04:00
Zardosht Kasheff
de706bd5d8 closes #5146, fix test and fix bug
git-svn-id: file:///svn/toku/tokudb@44973 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:54 -04:00
John Esmet
5a6cd59d91 #refs 5133 merge undo-do algorithm changes to main. now, we read a row from the source db AND gather up the leaf entrie's provisional data in the cursor callback, which makes it atomic with respect to commit and abort on that DB. had to fix a few tests after changing some leaf entry signatures
git-svn-id: file:///svn/toku/tokudb@44949 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
Yoni Fogel
c03782608f refs #5066 Move a free out of the txn_manager_lock
git-svn-id: file:///svn/toku/tokudb@44937 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
Yoni Fogel
f7a5890b27 [t:5123] Fix memory leak in test
git-svn-id: file:///svn/toku/tokudb@44899 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
John Esmet
fb72102eeb close[t:5134] le_cursor api cleaned up, followed up on a TODO to get rid of the DB parameter from is_key_right (and improved its name too) by using a fake_db in the le_cursor plus the new toku_ft_get_descriptor() api to grab a descriptor reference. refactored some tests to get it all compiling. LE and hot indexer tests pass
git-svn-id: file:///svn/toku/tokudb@44895 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
Yoni Fogel
b2129ebb7b [t:5064] Closes #5064 Move most of the work of creating xids (including malloc) out of the txn_manager_lock
git-svn-id: file:///svn/toku/tokudb@44892 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
Zardosht Kasheff
665f1acff4 refs #5130, refs #4870, merge changes of adding db->change_XXX functions to main
git-svn-id: file:///svn/toku/tokudb@44890 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
Leif Walsh
c5fe132a9c [t:5131] closes #5131.
git-svn-id: file:///svn/toku/tokudb@44864 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:53 -04:00
John Esmet
5c4b1d60ce close[t:5128] updating a descriptor now has two parts: user API that passes a FT and descriptor, and a low layer API that takes those two plus an explicit descriptor. we use the low layer one for deserialization code that wants to upgrade a descriptor for an FT that is not fully opened yet (and thus whose FT does not have a valid cachefile yet). this seems to be a clean enough solution, since it helps some upgrade code do non-standard stuff.
most importantly, loader-stress-test3 no longer fails by segfaulting on ft->cf->fd


git-svn-id: file:///svn/toku/tokudb@44839 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
0a1d95065c [t:4838] the locktree now opens its own ft handle when created to ensure that the ft stays in memory so long as the lock tree is in memory. we use an on_create and on_destroy callback to keep the txn/ft logic out of the locktree. the api for toku_ltm_get_lt is a little hairy now. a better solution may come in the future. for now, the original failing test passes.
git-svn-id: file:///svn/toku/tokudb@44819 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Leif Walsh
d47220c827 [t:4686] [t:5123] [t:5062] merge #4686 to main, includes fix for #5123. closes #4686.
git-svn-id: file:///svn/toku/tokudb@44814 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
8e7bc18ed8 close[t:5124] use a cleaner way of access an FT_HANDLE's descriptor pointers at the ydb layer. comment the ft API, too.
git-svn-id: file:///svn/toku/tokudb@44811 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
99568e9652 [t:5113] carefully document a non-obvious contract requirement for change descriptor. clients may ONLY update a FT's cmp descriptor if it's the first operation done after open, before any reads or writes. further, remove the test - it's user error.
git-svn-id: file:///svn/toku/tokudb@44804 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
08531ecc0a [t:5112] removed the fd param from update descriptor, improved the name, removed some unnecessary return codes from functions that cannot fail
git-svn-id: file:///svn/toku/tokudb@44771 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Leif Walsh
aebe247eaa [t:5094] merge to main, delete dev branch. closes #5094.
git-svn-id: file:///svn/toku/tokudb@44769 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Yoni Fogel
2ae8570c0e [t:5110] Closes #5110 Skip taking the txn_manager lock for read-only transactions during note_abort/commit
git-svn-id: file:///svn/toku/tokudb@44758 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Yoni Fogel
051a3e818a [t:5067] Closes #5067 Strengthen garbage_collection_debug
git-svn-id: file:///svn/toku/tokudb@44755 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Yoni Fogel
2c1583ca7c [t:5106] closes #5106 Replaced txn omt (in FT) with integer
git-svn-id: file:///svn/toku/tokudb@44754 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Yoni Fogel
5cb07ca1fb [t:5062] Fix compiler warning
git-svn-id: file:///svn/toku/tokudb@44752 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Yoni Fogel
a13c115502 [t:5067] Reduce GC-system overhead for read-only transactions
git-svn-id: file:///svn/toku/tokudb@44750 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Yoni Fogel
a40533b723 [t:5067] Merge #5067 to main. New GC algorithm that calculates "live_list_reverse" on the fly when needed
git-svn-id: file:///svn/toku/tokudb@44749 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
d6b5f0b432 close[t:5100] close[t:4930] the api for closing a ft has been simplified for normal use. for recovery, there is a new function that internally asserts the underlying ft is close and passes a valid lsn to the cachefile for closing
git-svn-id: file:///svn/toku/tokudb@44748 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Yoni Fogel
57a23f8f1f [t:5103] Fix tests that don't provide a txn for logging commits/aborts/prepares
git-svn-id: file:///svn/toku/tokudb@44745 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
cdda8bfabe close[t:5109] address some comments from code review concerning the naming of functions that remove an ft from memory vs removing a ft from the filesystem.
git-svn-id: file:///svn/toku/tokudb@44741 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Bradley C. Kuszmaul
a9264b9627 Some comments written during the open/close fops code review.
git-svn-id: file:///svn/toku/tokudb@44737 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
719d534277 [t:5101] toku_ft_update and toku_ft_set_update are dead code.
git-svn-id: file:///svn/toku/tokudb@44716 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
4cfdf9d21b [t:5101] show ft blocknums is dead code
git-svn-id: file:///svn/toku/tokudb@44715 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
e01fda0615 [t:5101] do_push_command is dead code
git-svn-id: file:///svn/toku/tokudb@44714 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
2595599eff [t:5101] height of root is dead code
git-svn-id: file:///svn/toku/tokudb@44713 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
7d6c001f3c [t:5101] ft remove subdb is dead code
git-svn-id: file:///svn/toku/tokudb@44712 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
6222371969 [t:5101] ftenv is dead code
git-svn-id: file:///svn/toku/tokudb@44711 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
9da737bfb2 [t:5101] ft_sync + friends are dead code
git-svn-id: file:///svn/toku/tokudb@44710 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
f811db12aa [t:5101] ftenv is dead code
git-svn-id: file:///svn/toku/tokudb@44709 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Zardosht Kasheff
b4889da436 [t:5097], add fix and test for table corruption issue
git-svn-id: file:///svn/toku/tokudb@44705 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Yoni Fogel
e061f6a1d6 [t:5062] Add some additional tests for cascading writes for unlogged parent txns
git-svn-id: file:///svn/toku/tokudb@44670 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Yoni Fogel
79c9413f34 [t:5062] Add some additional tests for xids independent from lsns
git-svn-id: file:///svn/toku/tokudb@44669 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Bradley C. Kuszmaul
d04b3eaa52 [t:4934] Get rid of more #4934 stuff from main. Refs #4934.
git-svn-id: file:///svn/toku/tokudb@44663 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Bradley C. Kuszmaul
925f584468 [t:4934] Get rid of 4934 stuff from main. Refs #4934.
git-svn-id: file:///svn/toku/tokudb@44659 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00