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
We run 'backward' recovery and 'forward recovery' on the item we turn around on, so do not set 'forward saw checkpoint begin' state
till we're in forward recovery.
git-svn-id: file:///svn/toku/tokudb@15849 c7de825b-a66e-492c-adef-691d508d4ae1
Added missing state transaction (turn around on checkpoint begin with no transactions)
Added error checking for unlink (anything but 0/ENOENT is real error)
Changes due to code review with Barry
git-svn-id: file:///svn/toku/tokudb@15848 c7de825b-a66e-492c-adef-691d508d4ae1
* Before 'checkpoint begin'
* fcreate
* Will not create (treated as fopen)
* Will not delete file
* Will force rollback entry of fcreate (if file exists)
* After checkpoint begin
* fcreate
* Will create
* Will first delete file
* Will force rollback entry of fcreate (if file exists)
git-svn-id: file:///svn/toku/tokudb@15844 c7de825b-a66e-492c-adef-691d508d4ae1
Was not holding cachetable lock to access rwlock (whose mutex was cachetable lock).
This caused a race condition that you would sometimes grab the cachetable lock on exiting the lock but didn't have it before.
We believe this caused the deadlock
git-svn-id: file:///svn/toku/tokudb@15802 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
fopen forward recovery: file missing (ENOENT) is not considered an error.
git-svn-id: file:///svn/toku/tokudb.2037b@15693 c7de825b-a66e-492c-adef-691d508d4ae1
We reserve a filenum before logging, and then use the reserved filenum when we actually open the cachefile.
git-svn-id: file:///svn/toku/tokudb.2037b@15645 c7de825b-a66e-492c-adef-691d508d4ae1
Merge 2.2.0 scheduling statistics to 3.0.0 (#2075).
Restore #2094 fix to 3.0.0 (cachefiles_lock).
Command line for merge (executed in tokudb.2037b, ../tokudb.2.2.0 is local sandbox image of 2.2.0 release): svn merge -r14900:HEAD ../tokudb.2.2.0
git-svn-id: file:///svn/toku/tokudb.2037b@15629 c7de825b-a66e-492c-adef-691d508d4ae1
Added test (src/tests/recover-compare-db-descriptor.abortrecover) that fails before this change, succeeds with it.
git-svn-id: file:///svn/toku/tokudb.2037b@15589 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
Fixed bug where lsn in header could be wrong (or crash during recovery).
git-svn-id: file:///svn/toku/tokudb@14856 c7de825b-a66e-492c-adef-691d508d4ae1
A client (read lock) must hold the multi-operation lock during the entire duration of holding the checkpoint-safe lock.
The multi-operation lock was being released too early.
git-svn-id: file:///svn/toku/tokudb@14845 c7de825b-a66e-492c-adef-691d508d4ae1