Commit graph

74 commits

Author SHA1 Message Date
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
Bradley C. Kuszmaul
fc6313556f Whoops wrote too much.
git-svn-id: file:///svn/tokudb@731 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-24 03:56:02 +00:00
Bradley C. Kuszmaul
80154022be The recovered file is exactly the same as the original file for test_log2.tdb.
(The wrong LSN was being saved in the file.  The recovered version was right.)
Addresses #27.
(Also, it was broken, and that appears to be fixed.)


git-svn-id: file:///svn/tokudb@730 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-24 03:50:28 +00:00
Bradley C. Kuszmaul
23b50b671d log_code.c compiles to log_code.o. Addresses #11
git-svn-id: file:///svn/tokudb@715 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-22 18:45:22 +00:00
Bradley C. Kuszmaul
5784ee45fb Log header
git-svn-id: file:///svn/tokudb@699 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-21 13:07:49 +00:00
Bradley C. Kuszmaul
fd2e07c904 Make all external symbols in pma.o start with toku_. Addresses #8
git-svn-id: file:///svn/tokudb@677 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-20 00:32:25 +00:00
Bradley C. Kuszmaul
ff277a4b43 Make all external symbols in brt-serialize.o start with toku_. Addresses #8
git-svn-id: file:///svn/tokudb@675 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-19 23:54:17 +00:00