Commit graph

1339 commits

Author SHA1 Message Date
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
538a507a30 Make rollback do the right thing in some cases fo internal nodes. Addresses #556.
git-svn-id: file:///svn/tokudb@2955 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 19:23:45 +00:00
Yoni Fogel
6153661e2c addresses #554
while investigating 554, came across this issue of not checking for proper value
This MAY fix 554, but we doubt it.

git-svn-id: file:///svn/tokudb@2953 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 18:01:40 +00:00
Yoni Fogel
c3024db098 Closes #553
Lock escalation causes all lock trees (all dbs in an environment)
to escalate their locks.
This is useful, since we can have one lock tree/db holding 99% of the locks
and then we run out of locks on a different lock tree.

git-svn-id: file:///svn/tokudb@2952 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 17:44:10 +00:00
Yoni Fogel
0608c924dd Addresses #553
Fixed memory leak during closing of lock tree managers.

git-svn-id: file:///svn/tokudb@2951 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 17:27:06 +00:00
Yoni Fogel
9e20ec534d Addresses #553
Fixes memory leak (just in test) of locktree managers.

git-svn-id: file:///svn/tokudb@2950 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 17:26:35 +00:00
Yoni Fogel
0f3d1b0f07 Addresses #553
Lock tree manager keeps track of all the lock trees so we can loop through them.

git-svn-id: file:///svn/tokudb@2949 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 17:23:08 +00:00
Yoni Fogel
58515a507b Closes 551
'Lock tree manager' object created to hold data shared by all lock trees
i.e. Current number of locks (per env) and max locks (per env)
Uses functions to change max_locks.
Added tests for lock tree manager.


git-svn-id: file:///svn/tokudb@2948 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 17:07:22 +00:00
Bradley C. Kuszmaul
8a520dd06e Fix {{{db.h_4_6}}}. Fixes #560.
git-svn-id: file:///svn/tokudb@2946 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:59:40 +00:00
Bradley C. Kuszmaul
e313932be0 Fix #559.
git-svn-id: file:///svn/tokudb@2945 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:53:56 +00:00
Zardosht Kasheff
e2ecb68737 added more useful error code for when we run out of locks
git-svn-id: file:///svn/tokudb@2944 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:46:46 +00:00
Yoni Fogel
09894eb3f9 Added tokudb specific error codes
git-svn-id: file:///svn/tokudb@2943 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:39:27 +00:00
Zardosht Kasheff
6a3cabd62c add TOKUDB error
git-svn-id: file:///svn/tokudb@2942 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:33:39 +00:00
Bradley C. Kuszmaul
c8d01cded2 Create test for #556. Addresses #556.
git-svn-id: file:///svn/tokudb@2941 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:16:41 +00:00
Zardosht Kasheff
fdd36956fd port makefile to OSX
git-svn-id: file:///svn/tokudb@2940 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 14:13:51 +00:00
Bradley C. Kuszmaul
3e2fff79d6 Create test_log6a_abort.c. Returns {{{ENOMEM}}} from {{{r = toku_lt_acquire_write_lock(db->i->lt, toku_txn_ancestor(txn...)...)}}} in ydb.c:2126. Addresss #536. Maybe also Addresses #501. (?).
git-svn-id: file:///svn/tokudb@2932 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 00:00:59 +00:00
Yoni Fogel
564569d0bc addresses #553
create iterator for lth

git-svn-id: file:///svn/tokudb@2930 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 22:15:01 +00:00
Yoni Fogel
ef195b7b07 Rolled back some debugging code.
git-svn-id: file:///svn/tokudb@2929 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 21:56:26 +00:00
Yoni Fogel
593867fc65 add debugging help
git-svn-id: file:///svn/tokudb@2925 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 19:22:07 +00:00
Yoni Fogel
215366bd1d break up if clause into extra lines
git-svn-id: file:///svn/tokudb@2923 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 18:32:31 +00:00
Yoni Fogel
7cb30a607e closes #523
always have lock escalation to be turned on

git-svn-id: file:///svn/tokudb@2919 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 15:07:32 +00:00
Bradley C. Kuszmaul
87d1153377 Rollback tests. Addresses #536.
git-svn-id: file:///svn/tokudb@2918 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 14:05:34 +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
fba345a3e9 Call {{{toku_malloc_cleanup}}} in {{{tdb_recover}}}. Fixes #552.
git-svn-id: file:///svn/tokudb@2914 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 11:01:44 +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
7a4157a440 Fix memory leak in {{{test_error.c}}}. Fixes #550.
git-svn-id: file:///svn/tokudb@2912 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 09:27:17 +00:00
Yoni Fogel
fa5f276d1b Addresses #523
Fixes a bug with escalation caught by valgrind.


git-svn-id: file:///svn/tokudb@2904 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 21:26:45 +00:00
Yoni Fogel
33715e6478 closes #549
git-svn-id: file:///svn/tokudb@2903 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 20:58:32 +00:00
Yoni Fogel
18a7b8dfe0 addresses #523
implemented lock escalation MINUS flagging of messy transactions
implemented tests for lock escalation

git-svn-id: file:///svn/tokudb@2902 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 20:39:01 +00:00
Bradley C. Kuszmaul
f4045b7919 Remove printfs. Addresses #548.
git-svn-id: file:///svn/tokudb@2900 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 19:32:28 +00:00
Bradley C. Kuszmaul
522627d9ba Log deq, but still not quite passing the test. Addresses #548.
git-svn-id: file:///svn/tokudb@2898 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 18:56:12 +00:00
Rich Prohaska
7659730252 test_txn_cursor_last.bdb blocks the main thread. lets not run it
git-svn-id: file:///svn/tokudb@2895 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 14:34:00 +00:00
Bradley C. Kuszmaul
2fc3ca7863 Get rid of array overflow in recovery. Addresses #548.
git-svn-id: file:///svn/tokudb@2893 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 14:24:01 +00:00
Bradley C. Kuszmaul
979ae62544 Create {{{test_log10.c}}}. Addresses #548.
git-svn-id: file:///svn/tokudb@2892 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 14:23:22 +00:00
Bradley C. Kuszmaul
afcd389e52 test_thread_insert doesn't leak memory any more. The leak is in {{{pthread_exit()}}}. If you return from the initial function, the leak isn't there. Fixes #303.
git-svn-id: file:///svn/tokudb@2884 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 04:12:06 +00:00
Bradley C. Kuszmaul
c6f44bd826 Make {{{test_error.tdb}}} happy. Fixes #445.
git-svn-id: file:///svn/tokudb@2883 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 03:30:40 +00:00
Bradley C. Kuszmaul
b2e25b58d3 Cleanup makefile a little.
git-svn-id: file:///svn/tokudb@2882 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 02:59:19 +00:00
Bradley C. Kuszmaul
ac690d7851 Add {{{test_log9}}} to tests. It breaks. Addresses #547.
git-svn-id: file:///svn/tokudb@2881 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 02:45:35 +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
Rich Prohaska
c24c5f9951 test case for mysql auto increment problem. addresses #541
git-svn-id: file:///svn/tokudb@2877 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 00:36:39 +00:00
Yoni Fogel
3bd8d5ec0f Addresses #523
Reordered escalation.
First escalate writes, and only if that succeeds, we escalate the reads.
Now, if we fail during the reads we are still consistent, whereas before
we would need to panic.

git-svn-id: file:///svn/tokudb@2876 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 00:21:30 +00:00
Yoni Fogel
84fd413645 Addresses #523
Implemented testing if escalating a range from borderwrite is trivial.

git-svn-id: file:///svn/tokudb@2875 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 00:20:13 +00:00
Yoni Fogel
30aad7a9b8 Addresses #523
Started coding lock escalation.
Have several function stubs that need to be implemented.

git-svn-id: file:///svn/tokudb@2874 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 23:58:41 +00:00
Bradley C. Kuszmaul
6d4ed37565 Work on getting test_log8 to recover. Addresse #544.
git-svn-id: file:///svn/tokudb@2873 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 22:22:26 +00:00
Bradley C. Kuszmaul
cf4f4b2356 More test coverage. This {{{test_log8}}} breaks recovery. Addresses #536, #544.
git-svn-id: file:///svn/tokudb@2871 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 21:29:09 +00:00
Bradley C. Kuszmaul
128938e2e7 More recovery test coverage. Addresses #536.
git-svn-id: file:///svn/tokudb@2870 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 21:19:27 +00:00
Bradley C. Kuszmaul
3f14fe6e82 More recovery test coverage. Addresses #536.
git-svn-id: file:///svn/tokudb@2869 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 21:18:59 +00:00
Bradley C. Kuszmaul
814b5638da Fix {{{tdb_recover}}} to use the right directories. Fixes #543.
git-svn-id: file:///svn/tokudb@2868 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 20:57:27 +00:00
Bradley C. Kuszmaul
be9e60427f Don't complain about {{{db_env_set_func_fsync}}}. Addresses #8, #499.
git-svn-id: file:///svn/tokudb@2866 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 14:05:35 +00:00
Bradley C. Kuszmaul
771125a0cd Finish making the valgrind error go away in test_logmax. Fixes #542.
git-svn-id: file:///svn/tokudb@2865 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-16 14:01:20 +00:00