Commit graph

475 commits

Author SHA1 Message Date
Rich Prohaska
0ff48bb664 imp DB_TXN_SYNC ref[t:2190]
git-svn-id: file:///svn/toku/tokudb@15936 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:53 -04:00
Barry Perlman
e1877dbb59 Closes #2187 refs[t:2187] Call toku_checkpoint_destroy() from toku_brt_destroy().
git-svn-id: file:///svn/toku/tokudb@15931 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:53 -04:00
Rich Prohaska
f9ac445e55 delete logging cruft closes[t:2189]
git-svn-id: file:///svn/toku/tokudb@15929 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:53 -04:00
Yoni Fogel
223fc2395a Addresses #2164 refs[t:2164] Take brtheader lock when accessing zombie/live lists during fdelete on commit.
git-svn-id: file:///svn/toku/tokudb@15878 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:53 -04:00
Yoni Fogel
c3a51b5f34 Addresses #2164 refs[t:2164] Remove race condition from accessing live/zombie lists.
git-svn-id: file:///svn/toku/tokudb@15877 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:53 -04:00
Yoni Fogel
7d6f6fef69 Closes #2180 closes[t:2180] Recovery forces 'fcreate' in rollback log (when replaying fcreate log entry)
git-svn-id: file:///svn/toku/tokudb@15841 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:52 -04:00
Yoni Fogel
c943ab3b1c Addresses #2168 refs[t:2168] Skip fsync for transactions that have done no (modify) work.
i.e. only queries

git-svn-id: file:///svn/toku/tokudb.2037b@15766 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:07 -04:00
Yoni Fogel
18c2c68f7c Addresses #2164 refs[t:2164] Zombie locking contract now enforced in rename/remove
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
2013-04-16 23:58:06 -04:00
Yoni Fogel
86a917a99d Closes #2160 closes[t:2160] Implement forward and backward recovery for fdelete.
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
2013-04-16 23:58:06 -04:00
Yoni Fogel
a522ceda16 Closes #2153 refs[t:2153] fopen logged only once (unless closed and reopened). Removed logger from cachefile_close,
removed txnid from logging of fopen.

git-svn-id: file:///svn/toku/tokudb.2037b@15691 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
030df27e4d Addresses #2090 refs[t:2090] Logging for file create is done before actually creating file on disk.
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
2013-04-16 23:58:06 -04:00
Yoni Fogel
88d66274a1 Closes #2128 closes[t:2128] List structure renamed to toku_list, same as header, and header moved
> 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
2013-04-16 23:58:05 -04:00
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