Bradley C. Kuszmaul
99b75cabcd
Deal with the multithreaded cursor DBT memory allocaiton problem. Addresses #538 . (I'm going to write a few more tests before calling it fixed.)
...
git-svn-id: file:///svn/tokudb@2854 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-15 19:06:39 +00:00
Bradley C. Kuszmaul
7997c793d1
Implement {{{db_env_set_func_fsync}}} and write a test that can discern the use of group commit. Fixes #499 , #496 .
...
git-svn-id: file:///svn/tokudb@2655 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-09 02:39:37 +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
Bradley C. Kuszmaul
5c52e7c64a
Separate some of the test helpers from brt.c to brt-test-helpers.c. Addresses #472 .
...
git-svn-id: file:///svn/tokudb@2556 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-05 18:34:32 +00:00
Bradley C. Kuszmaul
7ebf6bf352
Logging improvements. Mostly fixes #27 . Addresses #455 , #27 .
...
git-svn-id: file:///svn/tokudb@2471 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-29 20:47:11 +00:00
Bradley C. Kuszmaul
712fcc5da1
Many things:
...
Make txn->abort work without bombing out for {{{test_txn_abort5}}} one case. Fixes #431 .
Start writing {{{test_txn_abort6}}}. Addresses #443 .
Try to write a test for #399 and #400 , but haven't managed to reproduce the problem. Addresses #399 , #400 .
Write a test for #332 . Addresses #332 .
git-svn-id: file:///svn/tokudb@2406 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-25 22:46:48 +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
016a5b8fea
Change BRT_CMD to be a pointer instead (struct brt_cmd *) instead of a struct (struct brt_cmd). Addresses #242 .
...
git-svn-id: file:///svn/tokudb@2072 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-04 15:04:22 +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
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
Rich Prohaska
d2d80add96
first cut or new cursors merge to trunk. addresses #250
...
git-svn-id: file:///svn/tokudb@1881 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 15:43:37 +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
407c0ebebf
Log the fingerprints correctly. Addresses #27 .
...
git-svn-id: file:///svn/tokudb@1820 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 18:06:23 +00:00
Bradley C. Kuszmaul
015bc27f2f
Don't be wasteful when splitting brt leaves. Fixes #294 .
...
This makes big difference for space (46% smaller) and a small time difference (5% faster), as measured by benchmark-test.
Before:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial 8.753964s 119783/s random 5.640094s 185915/s cumulative 14.394118s 145695/s
serial 9.381472s 111771/s random 7.325284s 143145/s cumulative 31.100944s 134861/s
serial 9.859233s 106355/s random 6.734307s 155707/s cumulative 47.694553s 131911/s
serial 11.069200s 94729/s random 6.885863s 152280/s cumulative 65.649695s 127778/s
Shutdown 4.636875s
Total time 70.286611s for 8388608 insertions = 119349/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 730344924 Jan 22 11:47 sinsert.brt
}}}
After:
{{{
$ ./benchmark-test
nodesize=1048576
keysize=8
valsize=8
Serial and random insertions of 1048576 per batch
serial 8.521855s 123046/s random 5.730942s 182967/s cumulative 14.252861s 147139/s
serial 9.106047s 115152/s random 7.001765s 149759/s cumulative 30.360740s 138149/s
serial 9.543696s 109871/s random 6.651000s 157657/s cumulative 46.555503s 135139/s
serial 10.627035s 98671/s random 6.555884s 159944/s cumulative 63.738491s 131610/s
Shutdown 2.818513s
Total time 66.557042s for 8388608 insertions = 126036/s
$ ls -l sinsert.brt
-rwxrwxr-x 1 bradley bradley 396894480 Jan 22 11:45 sinsert.brt
}}}
git-svn-id: file:///svn/tokudb@1798 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 16:27:54 +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
faac0f364e
Remoe parent_brtnode. Fixes #251
...
git-svn-id: file:///svn/tokudb@1538 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-07 19:53:50 +00:00
Rich Prohaska
aed37ec51c
first cut of delboth addresses #182
...
git-svn-id: file:///svn/tokudb@1478 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-02 20:33:51 +00:00
Rich Prohaska
ea16495aa8
handle cursor DB_SET into the right subtree. closes #186
...
git-svn-id: file:///svn/tokudb@1187 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-18 12:48:14 +00:00
Bradley C. Kuszmaul
3a073c1e17
Start moving more stuff out of dir. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@982 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 20:58:45 +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
85a62db892
Nothing uses the childkeylens now. So we'll be able to remove them next. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@960 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 13:52:52 +00:00
Bradley C. Kuszmaul
6ac3943735
Start making structs for the children. Addresses #126 .
...
git-svn-id: file:///svn/tokudb@957 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-06 12:00:24 +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
9f54dcef61
Rename a bunch of symbols to toku_symbols. Addresses #8 .
...
git-svn-id: file:///svn/tokudb@823 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 15:09:14 +00:00
Bradley C. Kuszmaul
6b2f1c61b7
Rename a bunch of symbols to toku_symbols. Addresses #8 .
...
git-svn-id: file:///svn/tokudb@822 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 14:44:03 +00:00
Bradley C. Kuszmaul
d6ed45950d
Add copyrights using #ident in the buildheader and db-benchmark-test and loadsome and bdb-examples dirs. Addresses #54 .
...
git-svn-id: file:///svn/tokudb@820 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 14:27:42 +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
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
2a9b3b3d40
Recovery runs for test_log2's database. But the files are not quite the same. Addresses #27
...
git-svn-id: file:///svn/tokudb@728 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-23 20:36:03 +00:00
Bradley C. Kuszmaul
85336f49f3
Get rid of the manual commit code. Addresses #32
...
git-svn-id: file:///svn/tokudb@726 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-23 17:41:02 +00:00
Rich Prohaska
0d868bc7b4
close #17 dont put any DB_ flags in the tokudb header
...
git-svn-id: file:///svn/tokudb@707 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-22 01:05:00 +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
252ec01833
Make all external symbols in key.o start with toku_. Addresses #8
...
git-svn-id: file:///svn/tokudb@676 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-20 00:02:51 +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
Rich Prohaska
caad214427
use TOKU_DB_DUPSORT internally
...
git-svn-id: file:///svn/tokudb@664 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-19 20:22:56 +00:00
Rich Prohaska
dfd26d869c
serialize pivotflags
...
git-svn-id: file:///svn/tokudb@608 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-17 13:23:32 +00:00
Rich Prohaska
5b24c06e48
fix bug 3: use the application's compare function in the pma rather than the default compare function
...
git-svn-id: file:///svn/tokudb@604 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-16 22:06:27 +00:00
Rich Prohaska
96b7ff0908
BRTNODEs no longer point to BRTs
...
git-svn-id: file:///svn/tokudb@602 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-16 20:34:13 +00:00
Rich Prohaska
1620ec5815
remove app_private; merge in dup pma;
...
git-svn-id: file:///svn/tokudb@567 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-15 14:44:05 +00:00
Bradley C. Kuszmaul
48f0ad74b5
Up
...
git-svn-id: file:///svn/tokudb@519 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-14 17:58:38 +00:00
Bradley C. Kuszmaul
d4f76b0aa5
Put the parent pointers into every brtnode
...
git-svn-id: file:///svn/tokudb@388 c7de825b-a66e-492c-adef-691d508d4ae1
2007-10-03 19:34:31 +00:00
Bradley C. Kuszmaul
710cf343a3
Merge logging
...
git-svn-id: file:///svn/tokudb@371 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-28 17:11:22 +00:00
Rich Prohaska
b0e3bdca20
change the cache table to act on the size of the objects rather than the number of objects stored in it
...
note that when the object size is 1, the cache table acts on the number of objects as before.
change the tree algorithms to update the object size in the cache table when the object is unpinned.
git-svn-id: file:///svn/tokudb@334 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-21 17:55:49 +00:00
Rich Prohaska
83407ae6bf
Add a dirty bit to the BRT node object. This bit is set by code
...
that modifies the state of a BRT node object. A node is unpinned with
its dirty bit passed to the cache table.
git-svn-id: file:///svn/tokudb@316 c7de825b-a66e-492c-adef-691d508d4ae1
2007-09-18 16:09:55 +00:00