Commit graph

589 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
52b367b55c Create continuable assertion failures. See #835 for how to use it. Fixes #835.
git-svn-id: file:///svn/tokudb@3989 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-17 01:06:03 +00:00
Bradley C. Kuszmaul
2f47bef9e1 Add information that is printed in the #832 assertion fails. Also, don't actually assert a failure unless the node size got out of control. Thus, if the estimate is too low, print an message and proceed if possible. Addresses #832.
git-svn-id: file:///svn/tokudb@3988 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-17 00:49:13 +00:00
Yoni Fogel
f32fcb751b Closes #777
omt used to replaced libredblack


git-svn-id: file:///svn/tokudb@3986 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 20:09:13 +00:00
Bradley C. Kuszmaul
9c26f7c6f8 The proposed fix for #789. Addresses #789.
git-svn-id: file:///svn/tokudb@3983 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 18:48:23 +00:00
Bradley C. Kuszmaul
79df5188a4 memcmp does not accurately determine whether two keys are the same. Take out the overactive assertion. Addresses #788, #789.
git-svn-id: file:///svn/tokudb@3980 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 13:47:02 +00:00
Bradley C. Kuszmaul
bdc7ee0c2f Back out. Addresses #788, #789.
git-svn-id: file:///svn/tokudb@3978 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-16 13:16:29 +00:00
Bradley C. Kuszmaul
abe77e8ac2 Zardosht found what looks like the bug. This might fix the two regressions. Addresses #788, #789.
git-svn-id: file:///svn/tokudb@3973 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-15 21:27:35 +00:00
Rich Prohaska
6a7e96461b implement a /dev/null logging directory.
addresses #807


git-svn-id: file:///svn/tokudb@3969 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-15 12:54:37 +00:00
Bradley C. Kuszmaul
51d7940fda All 4 test cases work for keyrange. Fixes #764.
git-svn-id: file:///svn/tokudb@3945 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 20:29:19 +00:00
Bradley C. Kuszmaul
4aea0d2607 More tests pass for keyrange.
The same 4 cases mentioned in [3932], except now three out of four are tested:
   1. flattened nodup (tested in [3932])
   2. unflattened nodup (tested in this change set)
   3. flattened dupsort (tested in this change set
   4. unflattened dupsort (untested)

Addresses #764.


git-svn-id: file:///svn/tokudb@3944 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 20:14:31 +00:00
Yoni Fogel
729c916697 Addresses #825
We rebalance at most one subtree per delete.

Insert and delete modified slightly to use tail recursion when simple.

git-svn-id: file:///svn/tokudb@3943 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 19:33:49 +00:00
Yoni Fogel
b2d86c0bde Addresses #825
On inserts, we will rebalance at most 1 subtree.

git-svn-id: file:///svn/tokudb@3942 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 19:24:07 +00:00
Yoni Fogel
ae2a2766ff Closes #825
OMT now uses block allocs instead of a single malloc for each node.

git-svn-id: file:///svn/tokudb@3940 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 18:50:42 +00:00
Bradley C. Kuszmaul
d3a9c67c7c Test the case of unflattened nodups.
Addresses #764.


git-svn-id: file:///svn/tokudb@3933 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 12:27:07 +00:00
Bradley C. Kuszmaul
7be22f5b33 Start testing {{{toku_brt_keyrange}}}.
There are 4 cases
 1. flattened nodup (tested in this changeset)
 1. unflattened nodup (untested)
 1. flattened dupsort (untested)
 1. unflattened dupsort (untested)

[3931] also addresses #764.

Addresses #764.


git-svn-id: file:///svn/tokudb@3932 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 12:17:05 +00:00
Bradley C. Kuszmaul
b07dd27c62 Start testing {{{toku_brt_keyrange}}}.
There are 4 cases
 1. flattened nodup (tested in this changeset)
 1. unflattened nodup (untested)
 1. flattened dupsort (untested)
 1. unflattened dupsort (untested)


git-svn-id: file:///svn/tokudb@3931 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 12:14:38 +00:00
Bradley C. Kuszmaul
7828ced3a8 Finish up the pretty output. Fixes #811.
git-svn-id: file:///svn/tokudb@3926 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-13 02:35:50 +00:00
Rich Prohaska
3d0f87f4d8 compile with gcc-4.3 on debian4. addresses #804
git-svn-id: file:///svn/tokudb@3922 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-12 18:39:21 +00:00
Bradley C. Kuszmaul
d49cd8a22b Update copyright date.
git-svn-id: file:///svn/tokudb@3918 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-12 12:35:56 +00:00
Bradley C. Kuszmaul
9f6f2a18e5 Most of the work for making the checks output nice easy-to-read output.
Not quite all the output is pretty yet.  To get the pretty output set the {{{SUMMARIZE}}} make variable to nonzero and use the {{{-s}}} argument.  E.g.,
{{{
make check SUMMARIZE=1 -s
}}}
.
a complete useful invokation on Coyote is as follows:
{{{
make check SUMMARIZE=1 BDBDIR=/usr -s -j8 VGRIND= -k
}}}

Also, (almost) all the tests pass (even the recovery tests that really fail), since those tests won't really work until after milestone:"MySQL TokuDB Beta 1.0.2".
The one test that fails is {{{check_test_cursor_count}}}.  Perhaps we won't fix that for this release either.

Addresses #810, #811.


git-svn-id: file:///svn/tokudb@3917 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-12 10:58:07 +00:00
Bradley C. Kuszmaul
382c03ce6b More cleanup for #796. Addresses #796.
git-svn-id: file:///svn/tokudb@3886 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-09 13:13:44 +00:00
Bradley C. Kuszmaul
ee62dcc4d7 Move newbrt tests to subdir. Fixes #796.
git-svn-id: file:///svn/tokudb@3868 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 21:01:17 +00:00
Bradley C. Kuszmaul
dc25035be4 Move newbrt tests to subdir. Fixes #796.
git-svn-id: file:///svn/tokudb@3867 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 20:48:05 +00:00
Bradley C. Kuszmaul
b1a2ee871d Move newbrt tests to subdir. Fixes #796.
git-svn-id: file:///svn/tokudb@3866 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 20:30:33 +00:00
Yoni Fogel
467c49d564 Addresses #394
Bugfix with the way data was copied out to static buffers.
Now (again) copies to cursor's temp storage if it is not a temporary cursor
if it is a db handle call, or a temporary cursor, it will use the db's temporary storage.

git-svn-id: file:///svn/tokudb@3863 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 17:38:10 +00:00
Bradley C. Kuszmaul
eec09abdf3 Optimize the case of where we replace a leafentry. (Don't delete and insert. Instead just replace. Addresses #794.
git-svn-id: file:///svn/tokudb@3859 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 15:24:53 +00:00
Bradley C. Kuszmaul
2081bfb433 Make toku_assert faster avoiding the call unless the expression fails. Addresses #794.
git-svn-id: file:///svn/tokudb@3858 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 15:11:32 +00:00
Bradley C. Kuszmaul
83b7ff8630 Turn on inter-unit optimization for the newbrt code. The lock tree still doesn't have it. Addresses #793.
git-svn-id: file:///svn/tokudb@3854 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 14:31:05 +00:00
Bradley C. Kuszmaul
f48447c9cf Write the brt keyrange code. Untested. Addresses #764.
git-svn-id: file:///svn/tokudb@3852 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 13:05:01 +00:00
Yoni Fogel
6ef3961637 Closes #792
Verification of non-null is done before trying a toku-free

git-svn-id: file:///svn/tokudb@3851 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 08:30:50 +00:00
Bradley C. Kuszmaul
ed2c880ee3 Clean up, clean up, everybody clean their share. Fixes #791.
git-svn-id: file:///svn/tokudb@3848 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 07:16:26 +00:00
Bradley C. Kuszmaul
e81be86e43 Some keyrange support. Addresess #764.
git-svn-id: file:///svn/tokudb@3846 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-08 07:05:26 +00:00
Yoni Fogel
9abb92dc4b Addresses #394
Merge branch tokudb.394 back into trunk

git-svn-id: file:///svn/tokudb@3841 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-07 20:03:13 +00:00
Bradley C. Kuszmaul
fd51763cea Compile with -O3. Fixes #784.
git-svn-id: file:///svn/tokudb@3823 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-07 00:46:02 +00:00
Bradley C. Kuszmaul
ee986eb581 Fix a segfault in test_log6.recover. Addresses #740.
git-svn-id: file:///svn/tokudb@3822 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-07 00:40:45 +00:00
Yoni Fogel
8c0fd271d5 Addresses #783
Using DB_CURRENT no longer overwrites temporary memory owned by the db handle.
Added regression test.

git-svn-id: file:///svn/tokudb@3821 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-06 20:30:24 +00:00
Bradley C. Kuszmaul
dd8f0f3386 Hacking makefiles. Addresses #782. Also fixes a valgrind bug in one of the recovery tests.
git-svn-id: file:///svn/tokudb@3814 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-06 13:58:08 +00:00
Bradley C. Kuszmaul
7759603b6f Hacking makefiles. Addresses #782.
git-svn-id: file:///svn/tokudb@3813 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-06 10:27:46 +00:00
Bradley C. Kuszmaul
e9d3b87315 Hacking makefiles. Addresses #782.
git-svn-id: file:///svn/tokudb@3793 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-04 22:07:52 +00:00
Bradley C. Kuszmaul
09850cc913 Hacking makefiles. Also make the filenames used by the tests work more reliably. Addresses #782.
git-svn-id: file:///svn/tokudb@3792 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-04 16:56:15 +00:00
Bradley C. Kuszmaul
5f0fab0802 Fix up {{{brt->txns}}} during recovery. Fixes #781.
git-svn-id: file:///svn/tokudb@3780 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-03 17:34:14 +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
77fe15598c Removed the undo information from the logs (to rely on the checkpoint to save a good copy in the log).
Also, don't record the fingerprint changes, since they can be recalculated independently.  (This is a biggy.  The fingerprints updates were half the log changes.)
We'll have to do something about the fingerprints of internal nodes, so some if may come back in some form.
Speeds up {{{db-benchmark-test-tokudb -x}}} from 17477/s to 25696/s, and reduces the size of the {{{bench.tokudb}}} directory (containing logs and data) from 3.3GB to 1.7GB for a 0.33GB datafile.

Manipulations as follows:
 (cd tokudb;svn merge -r3676:3763 https://svn.tokutek.com/tokudb/tokudb.740 )
 svn delete tokudb.740

Fixes #775.


git-svn-id: file:///svn/tokudb@3764 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-02 14:38:35 +00:00
Bradley C. Kuszmaul
71b56ba1e8 Calculate an estimate of the number of {{{LEAFENTRY}}}s below each node.
Increment {{{layout_version}}} to 6.
brtdump now has a {{{--nodata}}} option (to print only the metadata, but not the data)
Fixes #766.

Merged to main using
{{{
cd tokudb/tokudb
svn merge -r3713:3725 https://svn.tokutek.com/tokudb/tokudb.766
cd ..
svn delete tokudb.766
}}}


git-svn-id: file:///svn/tokudb@3728 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-30 13:23:04 +00:00
Bradley C. Kuszmaul
efea431321 Make brtdump print the root fifo. Fixes #748.
git-svn-id: file:///svn/tokudb@3672 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-27 17:54:24 +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
Bradley C. Kuszmaul
d5f2eec078 Add the list of txns. Addresses #735. Fixes #749.
git-svn-id: file:///svn/tokudb@3659 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-26 03:16:30 +00:00
Bradley C. Kuszmaul
20bb869ac0 brt2.c undo
git-svn-id: file:///svn/tokudb@3652 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-25 17:46:46 +00:00
Bradley C. Kuszmaul
ecd0b0a971 Start adding the lists. Addresses #749.
git-svn-id: file:///svn/tokudb@3647 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-25 14:22:05 +00:00