Commit graph

90 commits

Author SHA1 Message Date
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
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
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
Yoni Fogel
5f488b2b42 Addresses #1862 refs[t:1862] Return rollback to use standard messages (accidentally set it to mega-abort/mega-commit in r1862)
git-svn-id: file:///svn/toku/tokudb@14713 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:02 -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
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
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
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
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
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
5c108195c3 Addresses #1603 Root fifo is gone.
git-svn-id: file:///svn/toku/tokudb@11165 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -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
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
4257a03411 Double check that uses of snprintf inside brt code are OK. Refs #1508.
git-svn-id: file:///svn/toku/tokudb@9717 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:42 -04:00
Bradley C. Kuszmaul
ac746cc08c Candidate fix for #1447. Addresses #1447.
git-svn-id: file:///svn/toku/tokudb@9251 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:40 -04:00
Yoni Fogel
84e3f1be9e Addresses #1443
Re-introduce the behavior that rollback_fcreate removes references to fd from lock tree
before deleting the file

This fixes regressions for windows in transaction abort tests

git-svn-id: file:///svn/toku/tokudb@9239 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:40 -04:00
Yoni Fogel
83eee5663a Addresses #1396
Merge tokudb.1396 back into main

git-svn-id: file:///svn/toku/tokudb@9110 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:39 -04:00
Bradley C. Kuszmaul
1f796663cd Check in the code for compressing the rolltmp file.
This was a tricky merge.  In the 1332a directory I did:
{{{
svn merge https://svn.tokutek.com/tokudb/toku/tokudb.1032b+1332@8415 https://svn.tokutek.com/tokudb/toku/tokudb.1032b+1332@8416
}}}
Then I was able to resolve the conflicts.

Then in the main line I did:
{{{
svn merge -r9042:9046 https://svn.tokutek.com/tokudb/toku/tokudb.1332a
}}}

Fixes #1332.


git-svn-id: file:///svn/toku/tokudb@9047 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
85f355d631 Improve error messages and error handling when writes fail.
* Fixes #78 ({{{lg_bsize}}} works)
 * Fixes #1323 (write errors)
Did
{{{
svn merge -r8967:9031 https://svn.tokutek.com/tokudb/toku/tokudb.1323a
}}}

(And I'll delete the 1323 branches in a moment.)


git-svn-id: file:///svn/toku/tokudb@9032 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
16bb53619e Merge {{{tokudb.1381}}} onto the main line.
Fixes #1381.  Addresses #1393 which was also fixed in this branch.

{{{
svn merge -r 8803:8831 https://svn.tokutek.com/tokudb/toku/tokudb.1381
}}}
and delete the 1381 branch.


git-svn-id: file:///svn/toku/tokudb@8832 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
ffd7d051a8 Merge #1311 (responsiveness during commit and abort) back to the main line.
{{{
svn merge -r 8703:8781 https://svn.tokutek.com/tokudb/toku/tokudb.1311
}}}
and delete the tokudb.1311 branch.

Addresses #1311.


git-svn-id: file:///svn/toku/tokudb@8782 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
0dfc3aa50d Some fixes for recovery (#1364). Also some temporary fixes for #1277. Addresses #1364, #1277.
Delete the 1364 branch, so I can restart it.
On the 1343 branch, I did:
{{{
svn merge -r 8586:8595 https://svn.tokutek.com/tokudb/toku/tokudb.1032b+1343+1364
}}}


git-svn-id: file:///svn/toku/tokudb.1032b+1343@8596 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:35 -04:00
Bradley C. Kuszmaul
c40557746c Fixes #1367.
git-svn-id: file:///svn/toku/tokudb.1032b+1343@8578 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:34 -04:00
Yoni Fogel
a9c69fd3fe Manual glue for svn-git migration for r8452 due to multiple merge + diffs in the same patch.
Original message:
Create a branch to make Doug Lea's malloc work. The big problem is having another malloc() in the system breaks things. Address #1343, #1032.
2013-04-16 23:57:33 -04:00
Rich Prohaska
6ebe124875 imp toku_os_ closes #1253
git-svn-id: file:///svn/toku/tokudb.1032b@7837 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:28 -04:00
Rich Prohaska
84a5198b84 merge 1032 into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7782 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Rich Prohaska
730e17faaf merge 1032 into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7781 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Rich Prohaska
fbfd0476ba more merging of 1032 to 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7779 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Bradley C. Kuszmaul
0ed47ea357 CIL gets upset if includes are not in the same order, because int64_t gets typedefed to different things depending on what you include. So do all the includes in a standard way. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6439 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -04:00
Bradley C. Kuszmaul
fd6a6d1447 Merge in the tokudb.1017 patches to the main branch. Fixes #1017.
{{{
$ (cd tokudb;svn merge -r5048:5080 https://svn.tokutek.com/tokudb/tokudb.1017 )
$ svn delete tokudb.1017
}}}


git-svn-id: file:///svn/tokudb@5081 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-11 22:00:06 +00:00
Bradley C. Kuszmaul
674f22ce5e Buffer the reading of the rollback file. Gains 5% on large transactions. Fixes #1002.
git-svn-id: file:///svn/tokudb@5005 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-09 12:00:26 +00:00
Rich Prohaska
97a2188053 send commits for delete operations. addresses #976
git-svn-id: file:///svn/tokudb@4875 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-01 19:52:35 +00:00
Bradley C. Kuszmaul
33d04ef55f Integrate the omtcursors into the BRT. So far only DB_NEXT is implemented. Addresses #855, #856.
git-svn-id: file:///svn/tokudb@4325 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 20:52:12 +00:00
Vincenzo Liberatore
bf759aa8bb Closes #855 Merged back into trunk
git-svn-id: file:///svn/tokudb@4308 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-30 20:41:12 +00:00
Bradley C. Kuszmaul
c199a47fae Dramatic speedups: For {{{db-benchmark-test -x}}} (4 interations)
||                                    ||      DB size ||  logsize ||  rate    ||
|| Before (with transactions)         ||      .33GB   ||   3.0GB  ||  17477/s ||
|| No Transactions (with this fix)    ||      .43GB   ||   0GB    || 104124/s ||
|| After removing undo info (#775)    ||      .33GB   ||   1.4GB  ||  25696/s ||
|| After optimizing commit (#725)     ||      .43GB   ||   0.6GB  ||  39909/s ||

The file size is a larger, but the logs are a lot smaller.

Addresses #725, #775.

Manipulations:
{{{
$ (cd tokudb; svn merge -r3763:3778 https://svn.tokutek.com/tokudb/tokudb.725)
$ svn delete tokudb.725
}}}


git-svn-id: file:///svn/tokudb@3779 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-03 12:43:25 +00:00
Bradley C. Kuszmaul
461b05f4b0 All commands now push into tree instead of root if possible. Fixes #735.
git-svn-id: file:///svn/tokudb@3670 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-27 15:12:25 +00:00
Bradley C. Kuszmaul
7523273fb8 On commit push into tree instead of root if possible. Addresses #735.
git-svn-id: file:///svn/tokudb@3668 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-27 12:34:50 +00:00
Rich Prohaska
cc0fc35141 bradley fixed the child transaction commit with a rollback log in an external file. closes #730
git-svn-id: file:///svn/tokudb@3566 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-22 17:09:24 +00:00
Bradley C. Kuszmaul
8511ea7372 Log db close so that recovery will work right if the same db is opened and closed repeatedly.
Also the file numbers can thus be reused.
Don't pass the BRT into the flush commands, since the BRT may no longer be present.
Put a counter in to see how many rollback records are present.  (Addresses #698.)
Increment the file version to 4.
Fixes #545, #703.

Note: All the tests pass except
 * Many cxx tests are getting valgrind errors.  (Addresses #716.  Possibly causes #716.)
 * {{{test_log9.recover}}} fails with "Binary files ... differ".  These will presumably be fixed by #711 or #714.  (Addresses #711, #714.)
 * {{{test_log10.recover}}} fails.   There are two failures:
  1. A valgrind problem (see #718.)  (Addresses #718.  Possibly causes #718.)
  1. The "Binary files ... differ" issue.


git-svn-id: file:///svn/tokudb@3486 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-17 03:11:55 +00:00
Bradley C. Kuszmaul
b58a413bce {{{
svn merge -r3352:3375 https://svn.tokutek.com/tokudb/tokudb.558a
}}}
with no conflicts.

Fixes #672, #558, #680.


git-svn-id: file:///svn/tokudb@3376 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-09 02:45:27 +00:00
Bradley C. Kuszmaul
6298988642 Merge the tokudb.558 branch back to to the main branch with:
{{{
svn merge -r3272:3320 https://svn.tokutek.com/tokudb/tokudb.558
}}}
No conflicts.


git-svn-id: file:///svn/tokudb@3322 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-07 01:30:25 +00:00
Bradley C. Kuszmaul
83d416fa09 Merge the 558 branch back to the main with
{{{
svn merge -r3061:3225 https://svn.tokutek.com/tokudb/tokudb.558
}}}

Fixes #630.
Addresses #558.


git-svn-id: file:///svn/tokudb@3226 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-02 23:40:36 +00:00
Bradley C. Kuszmaul
bc4b389304 More getting brt-test to compile. Addresses #558.
git-svn-id: file:///svn/tokudb@3154 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-28 20:49:50 +00:00
Bradley C. Kuszmaul
401eb1d0bc test_abort2 works up until a lock tree problem. I think the test and abort mechanisms are right now. I'll close #556 but file a new bug (#569). Fixes #556. Addresses #569.
git-svn-id: file:///svn/tokudb@2982 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-20 22:01:57 +00:00
Bradley C. Kuszmaul
95398c5397 Rollback is better, but still broken. Addresses #556.
git-svn-id: file:///svn/tokudb@2960 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 22:42:46 +00:00
Bradley C. Kuszmaul
538a507a30 Make rollback do the right thing in some cases fo internal nodes. Addresses #556.
git-svn-id: file:///svn/tokudb@2955 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 19:23:45 +00:00