We were using TOKUTXNs as the extraarg, but the TOKUTXN struct could be freed while the pair is still in memory.
We only used the TOKUTXN to get the cachefile and header. We already are given the cachefile, so we
made the extraargs be the header
git-svn-id: file:///svn/toku/tokudb@19238 c7de825b-a66e-492c-adef-691d508d4ae1
'load' entry and rollback/recovery,
single filename for brtloader and rest of brt
test-fsync
git-svn-id: file:///svn/toku/tokudb@18617 c7de825b-a66e-492c-adef-691d508d4ae1
We don't want to partially upgrade a database and we don't have the logic to automatically
create the fileops directory. This is done simply by setting
BRT_LAYOUT_MIN_SUPPORTED_VERSION = BRT_LAYOUT_VERSION
and leaving some unused code in place.
git-svn-id: file:///svn/toku/tokudb@15960 c7de825b-a66e-492c-adef-691d508d4ae1
Checkpoint holds entire brt open (as zombie if necessary) instead of just holding open the cachefile.
git-svn-id: file:///svn/toku/tokudb.2037b@15740 c7de825b-a66e-492c-adef-691d508d4ae1
> to toku_include/.
> This is done to avoid poisoning namespace, and to be easily included by handlerton.
git-svn-id: file:///svn/toku/tokudb@15579 c7de825b-a66e-492c-adef-691d508d4ae1
Backwards compatibility for version 10 upgraded to support change (read lsns into void, set original/read_from_disk versions to 10 on read)
git-svn-id: file:///svn/toku/tokudb@14457 c7de825b-a66e-492c-adef-691d508d4ae1
Cursors take a copy of oldest living xid upon creation, which they use for implicit promotion
git-svn-id: file:///svn/toku/tokudb@13606 c7de825b-a66e-492c-adef-691d508d4ae1
Current tests fail (not regressions, they fail as of 13461)
* {{{x1.tdbrun}}}
* {{{test_log(2,3,4,5,6,7,8,9,10).recover}}}
* {{{test-recover(1,2,3).tdbrun}}}
* {{{test1324.tdbrun}}}
ULE_DEBUG disabled (defined to 0) Can be re-enabled for test purposes (set to 1).
refs [t:1125]
Merging into the temp branch (tokudb.main_13461+1125)
{{{svn merge --accept=postpone -r 12527:13461 ../tokudb.1125 ./}}}
Merging into main
{{{svn merge --accept=postpone -r13462:13463 ../tokudb.main_13461+1125/ ./}}}
git-svn-id: file:///svn/toku/tokudb@13464 c7de825b-a66e-492c-adef-691d508d4ae1
When a new brt is open, it takes over responsibilities of all existing zombie brts, and closes them.
When a brt closes, if other brts exist, it passes off responsibilities and closes immediately. It only becomes a zombie if no other brts exist.
(Everything above is in context of a single header).
git-svn-id: file:///svn/toku/tokudb@11533 c7de825b-a66e-492c-adef-691d508d4ae1
We clear it when the transaction closes (this means we cannot change it when it is already set till that transaction finishes).
This fixes a crash in windows in root_fifo_2.tdb
git-svn-id: file:///svn/toku/tokudb@11365 c7de825b-a66e-492c-adef-691d508d4ae1
Serialize descriptor with each brtnode (leaf and nonleaf)
Deserialize descriptor with each brtnode (to be thrown away).
Don't malloc+memdup the descriptor for brtnodes, since that would waste time.
git-svn-id: file:///svn/toku/tokudb@11200 c7de825b-a66e-492c-adef-691d508d4ae1
Added versioning to descriptor.
Changing a descriptor REQUIRES the version to increase.
Version 0 is reserved for a non-descriptor db. (cannot be set).
Not yet added to brtnodes.
Still possible to change descriptor with an open brt (which would not be upgraded).
git-svn-id: file:///svn/toku/tokudb@11198 c7de825b-a66e-492c-adef-691d508d4ae1
Will aid in having multiple DB handles to a single brt, which is needed to kill root fifo
git-svn-id: file:///svn/toku/tokudb@11157 c7de825b-a66e-492c-adef-691d508d4ae1
Several fixes are included, particulary db remove after db truncate (with descriptor) does not crash anymore.
svn merge -r 10931:11019 ../tokudb.1510
git-svn-id: file:///svn/toku/tokudb@11020 c7de825b-a66e-492c-adef-691d508d4ae1