Commit graph

178 commits

Author SHA1 Message Date
Yoni Fogel
8bd25c46ab [t:2506] [t:2507] Fix locking mechanism for unpin_and_remove
We mistakenly thought that the workqueue lock was the same as the cachetable lock

git-svn-id: file:///svn/toku/tokudb@19188 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:06 -04:00
Yoni Fogel
3550e7dd38 [t:2506] [t:2507] Fix bug in toku_cachetable_unpin_and_remove
write_pair_for_checkpoint now uses completion queue if set

git-svn-id: file:///svn/toku/tokudb@19187 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:06 -04:00
Yoni Fogel
a5a29dbda6 [t:2506] [t:2507] Fix bug in toku_cachetable_unpin_and_remove
Correctly handles a blocked writer (checkpoint).  it checked state before state was set,
so incorrectly thought that there was never a blocked writer

git-svn-id: file:///svn/toku/tokudb@19186 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:06 -04:00
Yoni Fogel
e521486e82 [t:2506] [t:2507] Added some temporary asserts
git-svn-id: file:///svn/toku/tokudb@19182 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:06 -04:00
Yoni Fogel
1bf7a7a403 closes[t:2449] [t:2484] Merge #2449 changes to main.
Rollback logs are now checkpointed.  There are no rolltmp files.


git-svn-id: file:///svn/toku/tokudb@19167 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:05 -04:00
Barry Perlman
13c324ed06 Merge from 3.1.0 using following commands:
> svn merge --accept=postpone -r18405:HEAD https://svn.tokutek.com/tokudb/mysql.branches/3.0.5/tokudb
> svn merge --accept=postpone -r18484:HEAD https://svn.tokutek.com/tokudb/mysql.branches/3.1.0/tokudb
> svn merge --accept=postpone -c18403 https://svn.tokutek.com/tokudb/mysql.branches/3.0.5/tokudb
> all executed inside directory tokudb/toku/tokudb

git-svn-id: file:///svn/toku/tokudb@18877 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:04 -04:00
Yoni Fogel
b3f5306b41 [t:2249] Merge #2249 to main.
'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
2013-04-16 23:59:03 -04:00
Yoni Fogel
c6510b33fe closes[t:2463] Merge #2463 changes (r18552,18555) to main to fix race condition
with CACHEFILE->fd

git-svn-id: file:///svn/toku/tokudb@18612 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:02 -04:00
Dave Wells
0009757a37 merge changes to cachetable.c from tokudb.2445 [t:2444]
git-svn-id: file:///svn/toku/tokudb@18399 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:02 -04:00
Bradley C. Kuszmaul
178820a688 Merge changes from 2216a to main (except possibly for the windows subdirectory, which Yoni will do separately).
2216a is no longer valid.
Refs #2216. [t:2216].
{{{
svn merge -r17301:18179 https://svn.tokutek.com/tokudb/toku/tokudb.2216a/src/tests
}}}



git-svn-id: file:///svn/toku/tokudb@18181 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:01 -04:00
Rich Prohaska
1c7b2bce90 merge parallel block compressor from 3.0.4 to main closes[t:2371]
git-svn-id: file:///svn/toku/tokudb@18038 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:00 -04:00
Rich Prohaska
dd4d1192ff add checkpoint work in the cachetable to the wait time in get and pin. merge from 3.0.4 closes[t:2348]
git-svn-id: file:///svn/toku/tokudb@17819 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:59:00 -04:00
Bradley C. Kuszmaul
56d2c6fdf8 Merge 2216 onto main (from 16706-17293) as
{{{
svn merge -r16706:17293 https://svn.tokutek.com/tokudb/toku/tokudb.2216
}}}

Refs #2216. [t:2216]


git-svn-id: file:///svn/toku/tokudb@17299 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:59 -04:00
Yoni Fogel
838e0e5b1c [t:2318] Merge #2318 back to main up to r17166
git-svn-id: file:///svn/toku/tokudb@17178 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:59 -04:00
Bradley C. Kuszmaul
f27cc8fa09 Fixes #2323 by getting rid of gcc warnings. closes[t:2323]
git-svn-id: file:///svn/toku/tokudb@17147 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:59 -04:00
Barry Perlman
887a53259d Addresses #2090 refs[t:2090] Bugfix in cachetable_reserve_filenum(), added test program to exercise filenum reservation/release.
git-svn-id: file:///svn/toku/tokudb@15963 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:54 -04:00
Rich Prohaska
e8a671d611 imp toku_file_fsync in the port layer closes[t:1748]
git-svn-id: file:///svn/toku/tokudb@15805 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:52 -04:00
Yoni Fogel
357ebc950d Addresses #2172 refs[t:2172] Bugfix of commit r15040 (Addresses #2037 refs[t:2037])
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
2013-04-16 23:58:52 -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
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