Bradley C. Kuszmaul
0b880e866e
Merge onto the main line again.
...
{{{
svn merge -r3571:3582 https://svn.tokutek.com/tokudb/tokudb.724
}}}
git-svn-id: file:///svn/tokudb@3583 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-23 04:17:28 +00:00
Bradley C. Kuszmaul
33b252772a
Merge in the OMT and its integration into the main line.
...
{{{
$ cd tokudb
$ svn merge -r3533:3571 https://svn.tokutek.com/tokudb/tokudb.724
}}}
There remain a few problems with recovery, but the main line has problems with recovery, so let's bite the bullet and move forward.
Fixes #729 , #724 .
git-svn-id: file:///svn/tokudb@3572 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-22 20:39:50 +00:00
Rich Prohaska
950b199a16
32 bit port
...
git-svn-id: file:///svn/tokudb@3494 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-17 12:14:13 +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
Rich Prohaska
d1f5bdb03f
the regression no longer hit the node size assert. closes #676
...
git-svn-id: file:///svn/tokudb@3465 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-15 14:21:24 +00:00
Bradley C. Kuszmaul
db89cbfd5e
Comment out of the printf statement for the beta. The printf would tell us if the slow and fast get out of sync. Addresses #676 .
...
git-svn-id: file:///svn/tokudb@3406 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-10 01:04:31 +00:00
Bradley C. Kuszmaul
2d22815d0a
Fix up the {{{toku_serialize_brtnode_size_slow}}} to work right on non-leaf nodes. Fixes #685 .
...
git-svn-id: file:///svn/tokudb@3393 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-09 19:11:15 +00:00
Rich Prohaska
0e92670173
the node size counter gets out of sync with reality. programs assert
...
during serialization to the disk when the real size is smaller than the
node size counter. so we are going to recompute the node size when
the node is being serialized.
addresses #676
git-svn-id: file:///svn/tokudb@3384 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-09 15:46:41 +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
Rich Prohaska
eaca95da94
fix an errno leak in the deserialize code. closes #670
...
git-svn-id: file:///svn/tokudb@3335 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-07 15:54:58 +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
22cf859734
Write leafentry code, and get things to compile. Make it more compatible with -Wconversion. Addresses #558 .
...
git-svn-id: file:///svn/tokudb@3270 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-04 18:22:01 +00:00
Bradley C. Kuszmaul
648535fdeb
{{{test-recover3.tdb}}} now runs. Addresses #558 .
...
git-svn-id: file:///svn/tokudb@3255 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-03 23:00:59 +00:00
Rich Prohaska
8b9ec931ec
another small mempool. addresses #632
...
git-svn-id: file:///svn/tokudb@3238 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-03 13:49:16 +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
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
7dcf06384a
{{{test_log10.recover}}} now works. Fixes #548 .
...
The final fix for this bug involves writing zeros into the unused bytes of the disk when serializing nodes.
This is important for two reasons:
1. It makes the files the same the bit-level. (The problem showed up because a node of size near 1MB was written, and then the node split, causing the node to shrink, and when the node was written again, some left over bits from the previous node were still on disk. Then the file compare failed after recovery.)
1. It causes the file system to actually allocate the space for a node, so that when a node grows, it will all be contiguous on disk.
It has the disadvantage of writing more to disk than we did before, possibly reducing performance. It probably doesn't matter much, however.
git-svn-id: file:///svn/tokudb@2916 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 12:08:56 +00:00
Bradley C. Kuszmaul
6d19bad142
Fixes many problems in {{{test_log10}}}. There's a memory leak and the recovered files still differ, however. Addresses #548 .
...
git-svn-id: file:///svn/tokudb@2913 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 10:19:41 +00:00
Bradley C. Kuszmaul
60b6abe1c7
{{{test_log8}}} recovers now. Fixes #544 .
...
git-svn-id: file:///svn/tokudb@2880 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 02:40:59 +00:00
Bradley C. Kuszmaul
520a93a3e6
off-end-of-memory error found by valgrind. Addresses #126
...
git-svn-id: file:///svn/tokudb@2599 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-06 22:48:07 +00:00
Bradley C. Kuszmaul
241c5392df
Break up brt-test some more. Addresses #475 . Also make the fanout flexible. Fixes #126 .
...
git-svn-id: file:///svn/tokudb@2593 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-06 21:46:57 +00:00
Rich Prohaska
759f3785a8
malloc temps in the deserialize_from function to fit within the mysql thread stack. close #464
...
git-svn-id: file:///svn/tokudb@2526 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-04 21:31:01 +00:00
Bradley C. Kuszmaul
d9f3060f83
Rework the way transactions ids are used in the log (xid's on messages are used when inserting something into a leaf.) Addresses #27 .
...
git-svn-id: file:///svn/tokudb@2199 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 19:54:00 +00:00
Bradley C. Kuszmaul
4abb5ba31d
Use toku_assert instead of assert. Addresses #354 .
...
git-svn-id: file:///svn/tokudb@2167 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 03:17:38 +00:00
Bradley C. Kuszmaul
eeaef7284a
Add XID (Addresses #242 ), and also fix the problem where deletes were sneaking around inserts (Fixes #332.)
...
git-svn-id: file:///svn/tokudb@2098 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-05 18:25:23 +00:00
Bradley C. Kuszmaul
885e0bbb2e
Put all the child info into one struct. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@2002 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-31 22:05:43 +00:00
Bradley C. Kuszmaul
fa5638a0f8
Improving logging for db-benchmark-test. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1951 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-29 21:43:08 +00:00
Rich Prohaska
f1f9661f2a
remove cursor count from the brt node. closes #310
...
git-svn-id: file:///svn/tokudb@1914 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-26 23:11:38 +00:00
Bradley C. Kuszmaul
9fe0391206
Add copyright 2008. Fixes #283 .
...
git-svn-id: file:///svn/tokudb@1844 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 15:10:32 +00:00
Bradley C. Kuszmaul
271137c959
test_log5 recovers correctly now. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1826 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 19:44:13 +00:00
Bradley C. Kuszmaul
89985a3175
Improve logging. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1690 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-16 13:50:23 +00:00
Rich Prohaska
8bed771536
replace hashtables with fifos. addresses #249
...
git-svn-id: file:///svn/tokudb@1600 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-11 14:03:33 +00:00
Rich Prohaska
3a29cecefb
remove pivot flags. addresses #250
...
git-svn-id: file:///svn/tokudb@1560 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-08 21:43:11 +00:00
Bradley C. Kuszmaul
e4f197a8bc
set layout_version to 1 (for 0.4.0). Addresses #118 . Fixes #248 .
...
git-svn-id: file:///svn/tokudb@1536 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-07 19:02:27 +00:00
Rich Prohaska
9290db6fcc
unified the cursor search for cursor set, get_both, set_range, and get_both_range. still need to prune the search for some of these operations.
...
addresses #186
git-svn-id: file:///svn/tokudb@1149 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-17 01:03:35 +00:00
Yoni Fogel
a3cf241f96
Added additional error code in toku_deserialize_brtheader_from,
...
and toku_brt_open.
Files that fail assertions when loading the db, will now return EINVAL instead of assert-crashing.
Closes #160
Trying to open bdb db files does not cause us to crash anymore.
git-svn-id: file:///svn/tokudb@1087 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-11 20:03:12 +00:00
Bradley C. Kuszmaul
6ab4529c91
Switch over the fingerprints to be in the subfield
...
git-svn-id: file:///svn/tokudb@977 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 19:16:18 +00:00
Bradley C. Kuszmaul
d1569489ca
Get rid of childkeylens. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@964 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 14:30:33 +00:00
Bradley C. Kuszmaul
4dfccf0d81
Get rid of a few more cases where childkeylens are used. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@962 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 14:20:47 +00:00
Bradley C. Kuszmaul
ba1bd129d5
Can recover after 10 insertions. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@945 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 20:00:19 +00:00
Bradley C. Kuszmaul
a542433295
Make some of the PMA fields be unsigned.
...
Remove some leading __ (double underbars) from some symbols. (Addresses #8.)
Improve the verification of node sizes (because recovery is having trouble with this. Addresses #27.)
git-svn-id: file:///svn/tokudb@944 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-05 19:41:39 +00:00
Bradley C. Kuszmaul
accc92e4b0
Add some information needed for recovery. Changed the size of the serialization, and caused a new cursor bug to show up. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@927 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 22:18:21 +00:00
Bradley C. Kuszmaul
4fd00d7311
Log some pma movements. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@911 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-04 10:02:59 +00:00
Bradley C. Kuszmaul
8b48d70c9d
Rename a bunch of symbols to toku_symbols. Addresses #8 .
...
git-svn-id: file:///svn/tokudb@827 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:41:46 +00:00
Bradley C. Kuszmaul
0a6d3a6cc6
Rename a bunch of symbols to toku_symbols. Addresses #8 .
...
git-svn-id: file:///svn/tokudb@826 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:34:49 +00:00
Bradley C. Kuszmaul
77ab644ef6
Rename a bunch of symbols to toku_symbols. Addresses #8 .
...
git-svn-id: file:///svn/tokudb@824 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:17:46 +00:00
Bradley C. Kuszmaul
1a155723d6
Add copyrights using #ident on the top of newbrt sources. Addresses #54 .
...
git-svn-id: file:///svn/tokudb@817 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 14:18:54 +00:00
Rich Prohaska
8ff534e152
use kv-pair's to contain the pivot key and data. closes #37
...
git-svn-id: file:///svn/tokudb@770 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-27 18:16:45 +00:00
Rich Prohaska
2a8344c090
add tree flags to the node to drive serialization of pivots. addresses #5
...
git-svn-id: file:///svn/tokudb@769 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-27 15:22:56 +00:00
Bradley C. Kuszmaul
9da9621873
Stop passing DB* everywhere. Instead store it in the BRT and PMA structs. Fixes #39 .
...
git-svn-id: file:///svn/tokudb@761 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-26 21:51:36 +00:00