Commit graph

272 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
4267767fe9 Get rid of some compiler warnings. brt-test runs under valgrind. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6374 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:19 -04:00
Bradley C. Kuszmaul
0d2788eb22 Get rid of some compiler warnings. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6371 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:19 -04:00
Bradley C. Kuszmaul
31da3f370b Get rid of some compiler warnings. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6370 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:19 -04:00
Rich Prohaska
2adbbe6d15 fix 1172. we can not use the brt in the block serialize functions as the brt may not be valid. addresses #1172
git-svn-id: file:///svn/tokudb.1131b+1080a@6272 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
a55bb70df2 Turn on multithreaded writes, and also lock the pwrites and block allocator. Addresses #1080, #1000.
git-svn-id: file:///svn/tokudb.1131b+1080a@6177 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
cb7297248a Allocate blocks on alignment and don't write the root FIFO over the translate block. Addresses #1080, #1000, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6167 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
34b4ceec63 Fix up placement of root fifo. Addresses #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6159 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
c126b01af5 The tests may be running. Addresses #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6156 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
f35926ad91 brt-test runs for a much longer time before barfing. Addresse #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6130 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
7ba939a031 Manage the header not in the cachetable. This will help with #1054. Addresses #1000, #1054, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6128 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
550c6c0e6d Add the extraargs callback for fetch. Also make brt-serial-test run. Addresses #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6115 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
21be0ea0ef More progress. Right now the translation table is overwriting the actual data. Addresses #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6107 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
7e5a096387 Compile with the block allocator. Addresses #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6097 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
d929e0889c Start doing the I/O on the block allocator
git-svn-id: file:///svn/tokudb.1131b+1080a@6087 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
9e8e600430 Block allocator works and is tested. Addresses #1080, #1031, #1000.
git-svn-id: file:///svn/tokudb.1131b+1080a@6076 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
fcd8cb084c Deserialize the fifo header inside the header deserialization code instead of separately. Addresses #1131, #1080, #1000.
git-svn-id: file:///svn/tokudb.1131b+1080a@6057 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
5ff7b0c746 Forgot to dirty the root block when allocating a disk block. Addresses #1131, #1080, #1000.
git-svn-id: file:///svn/tokudb.1131b+1080a@6038 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
616abc829e Incorporate blocknum code from 1080a. Runs a little, need a big run on coyote. Addresses #1000, #1080, #1131.
git-svn-id: file:///svn/tokudb.1131b+1080a@6025 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:18 -04:00
Bradley C. Kuszmaul
aa4caae5e4 Compression numbers measured and mailed out to tokueng. Addresses #1131.
git-svn-id: file:///svn/tokudb.1131@5970 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:17 -04:00
Bradley C. Kuszmaul
344fb94fd3 newbrt tests pass with compression. Addresses #1131.
git-svn-id: file:///svn/tokudb.1131@5952 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:16 -04:00
Bradley C. Kuszmaul
37e2267341 Did some decompression stuff. But it's broken. Addresses #1131.
git-svn-id: file:///svn/tokudb.1131@5951 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:16 -04:00
Bradley C. Kuszmaul
48facf2ce5 Compress (but don't uncompress right)
git-svn-id: file:///svn/tokudb.1131@5901 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:16 -04:00
Bradley C. Kuszmaul
9b7fdbcfd0 Convert from crc to x1764. Fixes #1021.
git-svn-id: file:///svn/tokudb@5363 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-27 22:16:49 +00:00
Yoni Fogel
2804eb495a Addresses #1032
Removed over-active warnings, moved struct definition to proper place.

git-svn-id: file:///svn/tokudb@5322 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-24 21:31:52 +00:00
Yoni Fogel
c7d9dbbc2a Addresses #1032
Turned some nested functions (that had no free variables) into non-nested functions.

git-svn-id: file:///svn/tokudb@5320 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-24 21:25:31 +00:00
Bradley C. Kuszmaul
5c3ec7de12 Revert the murmur checksum. Addresses #1021.
{{{
svn merge https://svn.tokutek.com/tokudb/tokudb.1021@5184 https://svn.tokutek.com/tokudb/tokudb.1021@5107  
}}}
and fix a simple conflict.


git-svn-id: file:///svn/tokudb@5275 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-23 03:47:05 +00:00
Yoni Fogel
6ccb067147 Addresses #1032
Standardize unsigned ints:
uint8_t -> u_int8_t
uint32_t -> u_int32_t
uint64_t ->u_int64_t
Windows seems to differentiate between the two, linux does not.

git-svn-id: file:///svn/tokudb@5239 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-21 18:00:38 +00:00
Bradley C. Kuszmaul
66cd2fdd01 Merge is tokudb.1021 changes. Addresses #1021.
{{{
svn merge -r5107:5184 https://svn.tokutek.com/tokudb/tokudb.1021
}}}


git-svn-id: file:///svn/tokudb@5214 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-20 14:08:55 +00:00
Bradley C. Kuszmaul
f714e3e873 Merge in the final hash shortcuts.
{{{
svn merge -r4633:4638 https://svn.tokutek.com/tokudb/tokudb.906
}}}

Addresses #906.


git-svn-id: file:///svn/tokudb@4639 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 21:38:01 +00:00
Rich Prohaska
f4ec866165 merge some seq insert code to main. addresses #896
git-svn-id: file:///svn/tokudb@4626 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 10:02:06 +00:00
Bradley C. Kuszmaul
6b685145d1 Merge {{{tokudb.906}}} into {{{tokudb}}}. Very few hash calls remain.
Did
{{{
svn merge -r4600:4610 https://svn.tokutek.com/tokudb/tokudb.906
}}}
and delete the 906 branch.

Fixes #906.


git-svn-id: file:///svn/tokudb@4615 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-18 00:30:36 +00:00
Bradley C. Kuszmaul
4db5b5063c Did
{{{
svn merge -r4556:4568 https://svn.tokutek.com/tokudb/tokudb.906
}}}
to incorporate the hash improvements.

Addresses #906.


git-svn-id: file:///svn/tokudb@4596 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-17 17:05:19 +00:00
Bradley C. Kuszmaul
34572ecb9e Oops. Addresses #917.
git-svn-id: file:///svn/tokudb@4545 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 20:49:15 +00:00
Bradley C. Kuszmaul
64b08678a1 Tigter code when not filling with zeros. Addresses #917.
git-svn-id: file:///svn/tokudb@4544 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 20:44:11 +00:00
Bradley C. Kuszmaul
9ebb4b4080 Don't always fill with zeros. Fixes #917. Gives some speedups on random.
git-svn-id: file:///svn/tokudb@4543 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-15 17:09:14 +00:00
Bradley C. Kuszmaul
e9323991d7 {{{
svn delete tokudb.872
cd tokudb
svn merge -r4187:4233 https://svn.tokutek.com/tokudb/tokudb.872
}}}

Fixes #849, #872.
Addresses #820.


git-svn-id: file:///svn/tokudb@4234 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-29 03:12:59 +00:00
Rich Prohaska
2f35b4cf16 port to i386
git-svn-id: file:///svn/tokudb@4161 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-27 12:26:08 +00:00
Bradley C. Kuszmaul
f60c54cad0 Fixes #22, #333 and Addresses #818:
* Create an exact bit (#818) for the sums (but doesn't calculate it.)
 * Add magic to the file header (#22)
 * Add per-subdb dupsort flags. (#333).

Did
{{{
$ cd tokudb
$ svn merge -r3990:4094 https://svn.tokutek.com/tokudb/tokudb.818/
$ cd ..
$ svn delete tokudb.818
}}}


git-svn-id: file:///svn/tokudb@4095 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-22 21:28:00 +00:00
Bradley C. Kuszmaul
b74c85e592 Fix up a fencepost error in the serialization code. Addresses #22.
git-svn-id: file:///svn/tokudb@4035 c7de825b-a66e-492c-adef-691d508d4ae1
2008-05-20 21:24:11 +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
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
8489ae2389 Change the {{{LEAFENTRY}}} to {{{OMTVALUE}}} when using the omt, and also change the type of {{{OMTVALUE}}} to {{{void*}}} so we can have two different OMTs coexisting. Fixes #750.
git-svn-id: file:///svn/tokudb@3645 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-25 13:45:55 +00:00
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