Commit graph

159 commits

Author SHA1 Message Date
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
a293c6dac5 Addresses #2090 refs[t:2090] Bugfix in reserving filenums during recovery.
Use filenum provided.

git-svn-id: file:///svn/toku/tokudb.2037b@15646 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
Barry Perlman
97fa5e2467 Addresses #2075, #2094 refs[t:2075] refs[t:2094]
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
2013-04-16 23:58:06 -04:00
Rich Prohaska
6f6974aae9 port fairsched from 2.2.0 to main (for linux only) refs[t:2083]
git-svn-id: file:///svn/toku/tokudb@15573 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -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
Barry Perlman
c8b8e42194 Addresses 1792 refs[t:1792] Add more info to show engine status
git-svn-id: file:///svn/toku/tokudb@14804 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:03 -04:00
Rich Prohaska
8e8c68250c add some perf counters to the cachetable [t:1792]
git-svn-id: file:///svn/toku/tokudb@14801 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:03 -04:00
Barry Perlman
4ed4cdb854 Addresses 1792 refs[t:1792] Further implementation of show engine status
git-svn-id: file:///svn/toku/tokudb@14742 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
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
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
Barry Perlman
554596ce59 Addresses #1993 refs[t:1993] Added second callback to checkpoint.
git-svn-id: file:///svn/toku/tokudb@14369 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
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
Barry Perlman
52b0848db8 Addresses #1963 refs[t:1963] (expected to be) minor optimizations to maybe_get_and_pin
git-svn-id: file:///svn/toku/tokudb@14131 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Rich Prohaska
3ab3cbbfcc some progress on recovery close[t:1835]
git-svn-id: file:///svn/toku/tokudb@14112 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:59 -04:00
Rich Prohaska
584c66dca2 add a timestamp to the checkpoint begin and end log entries close[t:1855]
git-svn-id: file:///svn/toku/tokudb@13992 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:58 -04:00
Yoni Fogel
681c5dd336 Addresses #1866 List of live transactions (in logger) is now an omt instead of a linked list.
refs [t:1866]

git-svn-id: file:///svn/toku/tokudb@13604 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:56 -04:00
Bradley C. Kuszmaul
719786c001 Fixes #1848 (add parent txn to xstillopen).
git-svn-id: file:///svn/toku/tokudb@13131 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:55 -04:00
Bradley C. Kuszmaul
59c5ea00e0 Merge 1781 back to main line. Closes #1781 (since #1781 involves creating a test.) There is a bug exposed by the x2.tdb test, but actually making the x2 test run right is a separate issue (Refs #1823).
{{{
svn merge -r 12282:12548 https://svn.tokutek.com/tokudb/toku/tokudb.1781
}}}


git-svn-id: file:///svn/toku/tokudb@12860 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
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
845f7c37bb Addresses #1765, #1730, #1733, Merge 12079:12119 from 2.0.0 into main
git-svn-id: file:///svn/toku/tokudb@12121 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Yoni Fogel
049c7625a3 Addresses #1765 Merge [12079] into main (pthreads-win32 for windows)
git-svn-id: file:///svn/toku/tokudb@12081 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Barry Perlman
7568a5a895 Addresses #1745 Merge fix from 2.0.0 branch into main with command svn merge -c 11736 ../../mysql.branches/2.0.0/tokudb (inside toku/tokudb)
git-svn-id: file:///svn/toku/tokudb@11756 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:52 -04:00
Rich Prohaska
c21fa48316 merge more of 1735 to main. addresses #1735
git-svn-id: file:///svn/toku/tokudb@11732 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:52 -04:00
Barry Perlman
2197511394 Add some debug info
git-svn-id: file:///svn/toku/tokudb@11715 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:52 -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
9beaf96697 Improved comments only
git-svn-id: file:///svn/toku/tokudb@11700 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:52 -04:00
Barry Perlman
0124e8fe7d Addresses #1736, #1398 Move extern declaration of STRADDLE_HACK_INSIDE_CALLBACK from cachetable.c to cachetable.h to allow build on Windows.
git-svn-id: file:///svn/toku/tokudb@11660 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -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
61a2a36b8c Addresses #1730 Put in attempted fix for race condition.
Closign and opening a cachefile is now threadsafe (race condition when trying to open during a close).
If race condition hits, it will stall the open till the close is done.
All opens are now single threaded.  This can be improved if it causes a bottleneck.

Added comments for possible future race conditions after lock refinement.

git-svn-id: file:///svn/toku/tokudb@11644 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
482ff6bd1b Removed debug entry
git-svn-id: file:///svn/toku/tokudb@11569 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
46d1cde8f5 Addresses #1691 Further fixes to a race condition where refcounts in a cachefile were not protected by any lock.
See [11371] removed most of the causes of this (by limiting the places where refcount was edited).
Now (cachefile) refcounts are protected by the cachetable_lock.

git-svn-id: file:///svn/toku/tokudb@11408 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
c2d7fd1f8a Fixes #1686 Added ydb-level functions to get/set interval for automatic recurring checkpointing.
git-svn-id: file:///svn/toku/tokudb@11298 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
79a2393ae5 Addresses #1510 Added callback to toku_checkpoint(), primarily intended for use in testing.
git-svn-id: file:///svn/toku/tokudb@11286 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
fba0209490 Fixes #1683 Created separate toku_cachetable_minicron_shutdown() to be called when no locks are held. Note, toku_cachetable_close() still calls minicron_shutdown() if it was not already shut down to avoid rewriting tests.
git-svn-id: file:///svn/toku/tokudb@11285 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
a9d1268ecd Closes #1680 Moved assertion that cachefile is not in a checkpoint to when a cachefile actually closes
instead of just reducing reference count.

git-svn-id: file:///svn/toku/tokudb@11268 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
d6ab1513e8 Merge the tokudb.1665 branch into the main line. Fixes #1665.
{{{
svn merge -r 11185:11261 https://svn.tokutek.com/tokudb/toku/tokudb.1665
}}}


git-svn-id: file:///svn/toku/tokudb@11264 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
17e5214663 Refs #1529.
git-svn-id: file:///svn/toku/tokudb@11223 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
1ed3f26d65 Add #ident Id info to all the newbrt/*.c and newbrt/*.h files. Refs #1529.
git-svn-id: file:///svn/toku/tokudb@11221 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
6f213717c3 Addresses #1510 Improved concurrency of checkpoint (end) function
git-svn-id: file:///svn/toku/tokudb@11113 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
6561bd1af8 Addresses #1510 Final merge into main. Delete #1510 branch.
svn merge -r 11048:11110 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@11112 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
631fe49fc1 Addresses #1510 Merge 1510 up to and including [11022]
Fixes windows build issues
Add checkpoint-safe fast truncate

git-svn-id: file:///svn/toku/tokudb@11023 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
8f2b0a7e11 Addresses #1510 Merge of 1510 (so far) back into main
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
2013-04-16 23:57:47 -04:00
Yoni Fogel
dab780fdbd Addresses #1510 Merge tokud.main+1510 back into main
svn merge --accept=postpone -r 10895:10898 ../tokudb.main+1510
Previously on tokudb.main+1510:
svn merge --accept=postpone -r 10317:10892 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@10899 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Bradley C. Kuszmaul
0630b6922c {{{db->stat64}}} now has all functionality required for #447.
Merge [10806] into tokudb.  Refs #1629, #447.
{{{
svn merge -r10805:10806 https://svn.tokutek.com/tokudb/toku/tokudb.1629
}}}


git-svn-id: file:///svn/toku/tokudb@10807 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
c191b67324 Addresses #1531 Ported stat/fstat. toku_stat, toku_fstat (struct is toku_struct_stat), poisoned the use of the functions
git-svn-id: file:///svn/toku/tokudb@10491 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:45 -04:00