Yoni Fogel
580f5caafb
Addresses #2037 refs[t:2037] Merged #2037 back into main
...
git-svn-id: file:///svn/toku/tokudb@15562 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
6822031243
fix some linux build problems with icc 11 close[t:2088]
...
git-svn-id: file:///svn/toku/tokudb@15149 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Yoni Fogel
d2576d5f71
Closes #2057 closes[t:2057] Add warnings about code that needs to remain in certain order to prevent recovery errors,
...
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
2013-04-16 23:58:03 -04:00
Rich Prohaska
46ae126764
panic brt's if recovery fails close[t:2035]
...
git-svn-id: file:///svn/toku/tokudb@14783 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:03 -04:00
Yoni Fogel
1f0a5815b1
Closes #1862 closes[t:1862] LSNs are logged/chosen during the actual close, if closed during recovery, the LSN is passed into close.
...
git-svn-id: file:///svn/toku/tokudb@14686 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:02 -04:00
Yoni Fogel
465065c60c
Addresses #1737 refs[t:1737] Mega abort/mega commit messages coded
...
These messages are broadcast to an entire dictionary, aborting/committing a particular transaction only.
git-svn-id: file:///svn/toku/tokudb@14571 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:02 -04:00
Rich Prohaska
9d4f1ee78e
fix some recovery tests close[t:2005] close[t:2010]
...
git-svn-id: file:///svn/toku/tokudb@14546 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:02 -04:00
Yoni Fogel
2fefaf6428
Closes #2003 closes [t:2003] add 'table lock on empty' log entry, and recovery logic for it.
...
git-svn-id: file:///svn/toku/tokudb@14489 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:01 -04:00
Yoni Fogel
1f72e6db67
Addresses #1936 refs[t:1936] Removed log_lsn/disk_lsn from nodes, added original version and version read from disk
...
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
2013-04-16 23:58:01 -04:00
Barry Perlman
ee339d03aa
Addresses #1987 , #1936 refs[t:1987] refs[t:1936] Insert broadcast commit on upgrade from version 10 to 11, record original version in new header field. Also fixed incorrect message type for broadcast commit.
...
git-svn-id: file:///svn/toku/tokudb@14430 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:01 -04:00
Rich Prohaska
c629cb29bf
recovery bind's to filenum's [t:1998]
...
git-svn-id: file:///svn/toku/tokudb@14425 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:01 -04:00
Rich Prohaska
8e214a919d
filter some operations during recovery close[t:1993]
...
git-svn-id: file:///svn/toku/tokudb@14421 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:01 -04:00
Barry Perlman
0860425ef6
Addresses #1987 refs[t:1987] API and implementation of broadcast commit (all xids) message.
...
Cleaned up BRT_CMD vs BRT_MSG, removed logger from query path.
git-svn-id: file:///svn/toku/tokudb@14376 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:00 -04:00
Barry Perlman
d69c552f03
Addresses #1987 refs[t:1987] Fully replace (rename) BRT_CMD with BRT_MSG (same struct) for consistency
...
git-svn-id: file:///svn/toku/tokudb@14372 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:00 -04:00
Rich Prohaska
68dc93d09b
fix some linux icc issues close[t:1975]
...
git-svn-id: file:///svn/toku/tokudb@14305 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:00 -04:00
Yoni Fogel
535754ec12
Closes #1973 closes[t:1973] Log entry for DELETE_ANY no longer wastes memory on 'value'
...
git-svn-id: file:///svn/toku/tokudb@14292 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:00 -04:00
Bradley C. Kuszmaul
ca1ed58974
The good stuff from #1884 up to changeset:14213. Refs #1884 . [t:1884].
...
* Block allocation is now first-fit.
* There is a better test for the block allocator.
* brt_stat64 returns data in a struct instead of a bunch of arguments.
* Nodes are set clean after serialization.
git-svn-id: file:///svn/toku/tokudb@14214 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Rich Prohaska
26c68b80d9
add treeflags to the fcreate log entry close[t:1965]
...
git-svn-id: file:///svn/toku/tokudb@14200 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Rich Prohaska
8e2d40b9b0
merge tokudb.1844 to main close[t:1844]
...
git-svn-id: file:///svn/toku/tokudb@14180 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Yoni Fogel
6e14e934fa
Addresses #1963 , #1866 refs[t:1963] refs[t:1866] Minor optimizations to maybe_get_and_pin_clean, associate with shortcut query
...
git-svn-id: file:///svn/toku/tokudb@14169 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Yoni Fogel
316b9c96ed
Addresses #1112 refs[t:1112] Implement 'flatten' function at brt layer
...
git-svn-id: file:///svn/toku/tokudb@14168 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Yoni Fogel
d2cae8914e
Addresses #1956 refs[t:1956] Add c_getf_set_range_reverse, c_getf_get_both_range_reverse, (and c_get versions)
...
Equivalent to non-reverse but just changes the search direction
git-svn-id: file:///svn/toku/tokudb@14086 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Yoni Fogel
a284c6a952
Addresses #1924 refs[t:1924] Fixed upgrade logic: use separate mempool/omt for version 10/11
...
git-svn-id: file:///svn/toku/tokudb@13943 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:58 -04:00
Yoni Fogel
fee19e875a
Addresses #1924 refs[t:1924] Initial version of upgrade (10->11) logic is complete
...
git-svn-id: file:///svn/toku/tokudb@13938 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:58 -04:00
Yoni Fogel
c7fa6070ef
Addresses #1866 refs [t:1866] Disable implicit promotion on query
...
Added option to easily toggle implicit promotion on query
Disabled for now because of tickets [t:1903] [t:1906]
git-svn-id: file:///svn/toku/tokudb@13679 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:57 -04:00
Yoni Fogel
24fb3dc5af
Addresses #1866 refs [t:1866] Set node dirty after doing implicit promotion on query.
...
git-svn-id: file:///svn/toku/tokudb@13626 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Yoni Fogel
1563110816
Addresses #1866 refs [t:1866] Default oldest living txnid is now TXNID_NONE_LIVING (0)
...
Fix bug where assert was hit when transactions are off.
Cleaned up some code.
git-svn-id: file:///svn/toku/tokudb@13625 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Yoni Fogel
a12ded1a45
Addresses #1866 Oldest living xid stored in logger instead of a global.
...
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
2013-04-16 23:57:56 -04:00
Yoni Fogel
13aa2ed352
Addresses #1866 Implement implicit promotion on query (for slow and shortcut versions)
...
refs [t:1866]
git-svn-id: file:///svn/toku/tokudb@13560 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Rich Prohaska
56f5982727
merge tokudb.1856 to main. closes #1856
...
git-svn-id: file:///svn/toku/tokudb@13525 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Yoni Fogel
2ef08187e7
Addresses #1868 Delete unnecessary assert
...
Done to main and 2.1.0
refs [t:1868]
git-svn-id: file:///svn/toku/tokudb@13485 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Yoni Fogel
110754f57c
Addresses #1125 Merged nested transactions from temporary merge branch into main.
...
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
2013-04-16 23:57:56 -04:00
Rich Prohaska
363e371758
merge the enqrootentry and shutdown log entry changes to main. addresses #1847
...
git-svn-id: file:///svn/toku/tokudb@13453 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Yoni Fogel
2e7835e6b5
Closes #1868 A parent can prelock a table, and then the child, or vice versa without crashing.
...
This does not add any performance optimizations
git-svn-id: file:///svn/toku/tokudb@13337 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:55 -04:00
Rich Prohaska
73e060e3bc
merge tokudb.1856 13208:HEAD to main. addresses #1856
...
git-svn-id: file:///svn/toku/tokudb@13278 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:55 -04:00
Bradley C. Kuszmaul
43b8c94f9c
Fixes #1846 .
...
git-svn-id: file:///svn/toku/tokudb@13130 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:55 -04:00
Rich Prohaska
90e210cd94
merge tokudb.1828 -r 12939:HEAD to main. closes #1828
...
git-svn-id: file:///svn/toku/tokudb@13006 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:55 -04:00
Rich Prohaska
7fdfb60a3e
merge tokudb.1802 rev 12722:HEAD tokudb. addresses #1802
...
git-svn-id: file:///svn/toku/tokudb@12779 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:54 -04:00
Rich Prohaska
a255cd1672
build with icc on linux
...
git-svn-id: file:///svn/toku/tokudb@12742 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:54 -04:00
Rich Prohaska
e5fb3970bb
merge 1766b to main. addresses #1766
...
git-svn-id: file:///svn/toku/tokudb@12577 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:54 -04:00
Yoni Fogel
bc9fd74c80
Merge 2.0.0 back into main
...
svn merge --accept=postpone -r 12123:12373 ../../mysql.branches/2.0.0/tokudb/
git-svn-id: file:///svn/toku/tokudb@12375 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Bradley C. Kuszmaul
6c211758b1
Merge 1767 into main line (including 1768 and 1627 fixes) and delete 1767 branch. Fixes #1767 . Refs #1768 , 1627.
...
git-svn-id: file:///svn/toku/tokudb@12140 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Yoni Fogel
4def00f108
Closes #1756 Merge fix for #1756 [11989] from 2.0.0 into main
...
git-svn-id: file:///svn/toku/tokudb@11990 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Barry Perlman
ff57e4c617
Fixes #1735 Merge from tokudb.1735 to main with command:
...
svn merge -r11656:HEAD ../tokudb.1735 (executed in main sandbox)
git-svn-id: file:///svn/toku/tokudb@11714 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:52 -04:00
Barry Perlman
646141a74c
Addresses #1736 , #1398 When inside straddle_hack callback don't use normal rwlock_read_lock for get_and_pin, but simply increment reader count instead. This prevents deadlock where callback waits for end_checkpoint to release write lock, but while end_checkpoint waits for callback to release read lock.
...
git-svn-id: file:///svn/toku/tokudb@11658 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
09944a690e
Closes #1693 Zombie brts pass off responsibilities to others.
...
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
2013-04-16 23:57:51 -04:00
Yoni Fogel
35090f156a
Addresses #1691 Fix bug where abort(truncate) could crash us.
...
Remove transactions' need to count references to cachefiles (they already have references to brts)
Errors in rolling back certain functions were ignored (r = blah; return something_else);
They are now reported, so diskfull had to be updated to expect ENOSPC under certain circumstances.
git-svn-id: file:///svn/toku/tokudb@11371 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
bba8a8a3c7
Addresses #1691 Txn that created or locked when empty is now per dictionary (in header instead of brt)
...
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
2013-04-16 23:57:50 -04:00
Yoni Fogel
115a711093
Closes #1681 , Closes #1682 two-header choosing logic is more robust
...
version now comes before 'size' in header
Some cleanup/defined new error codes instead of '-1'
git-svn-id: file:///svn/toku/tokudb@11304 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
faa3df9e03
Addresses #1670 fix bug in descriptor versino upgrades.
...
If descriptor contents stay the same but version goes up, record new version (instead of ignore it).
git-svn-id: file:///svn/toku/tokudb@11263 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00