Commit graph

180 commits

Author SHA1 Message Date
Yoni Fogel
fa3c118725 refs #5189 added comments about txns being null during tests
git-svn-id: file:///svn/toku/tokudb@45277 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:57 -04:00
Yoni Fogel
73bcbb4259 refs #5189 Save last_xid in shutdown entry instead of increasing lsn and aliasing
git-svn-id: file:///svn/toku/tokudb@45271 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:57 -04:00
Yoni Fogel
b7ce41daae refs #5189 fix tests from xstillopen(prepared) "must assert begin was logged" changes
git-svn-id: file:///svn/toku/tokudb@45261 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:57 -04:00
Yoni Fogel
d3b55b4d8a refs #5189 xstillopen(prepared) must assert begin was logged, instead of ignoring
git-svn-id: file:///svn/toku/tokudb@45252 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Christian Rober
b33c3a656d refs #4885 Fixed comments and comment structure for upgrade helper functions
git-svn-id: file:///svn/toku/tokudb@45214 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Yoni Fogel
f1cadec681 refs #5117 Add documentation for txn optimizations
Use wrapper function toku_txn_is_read_only whenever it doesn't make sense to access variable directly

git-svn-id: file:///svn/toku/tokudb@45209 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Leif Walsh
c380714035 refs #4871 fix lc_create so it doesn't issue useless valgrind warnings
git-svn-id: file:///svn/toku/tokudb@45207 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Yoni Fogel
216aec3fb9 refs #5149 Fix up ydb layer read-only txn optimizations.
The is_read_only function already took into account children, so we don't need complicated logic.

git-svn-id: file:///svn/toku/tokudb@45205 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Yoni Fogel
7933e613b4 closes #5182 Remove oldest_living_xid(and time) from engine status.
This cleans up some of the transaction manager code.
Optimize looks at the OMT now

git-svn-id: file:///svn/toku/tokudb@45202 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Leif Walsh
c851f11c73 closes #5180 fix ft_verify so it doesn't call the comparison function on broadcast messages, which don't have keys
git-svn-id: file:///svn/toku/tokudb@45201 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:56 -04:00
Leif Walsh
bf18f211bd closes #5173 fix the deserialize path so it creates nodes with a current layout_version
git-svn-id: file:///svn/toku/tokudb@45141 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
Leif Walsh
c6e5ab09f2 refs #5173 add 6.0 test to upgrade_test_simple
git-svn-id: file:///svn/toku/tokudb@45140 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:55 -04:00
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