Commit graph

62 commits

Author SHA1 Message Date
Bradley C. Kuszmaul
85905624d4 Create code to compute the size of a rollback entry. Addresses #711.
git-svn-id: file:///svn/tokudb@3490 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-17 10:46:19 +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
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
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
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
bc4b389304 More getting brt-test to compile. Addresses #558.
git-svn-id: file:///svn/tokudb@3154 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-28 20:49:50 +00:00
Bradley C. Kuszmaul
0c1af47865 Add the first two tests for {{{DB_ENV->log_archive}}}. Fix up some memory leaks. Add {{{LSN*}}} to all the {{{toku_log_*}}} functions so that {{{toku_logger_txn_begin}}} can use the LSN as a txnid. Addresses #75, #83, #392.
git-svn-id: file:///svn/tokudb@3004 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-21 21:02:30 +00:00
Bradley C. Kuszmaul
70bb010995 make {{{DB_ENV->log_archive}}} return something (but it's not quite right). Clean up the serialization of the brt header. Fix up {{{DB_ENV->txn_checkpoint}}} (but it's not quite right). Addresses #75, #83, #392.
git-svn-id: file:///svn/tokudb@3000 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-21 19:40:32 +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
Bradley C. Kuszmaul
4d369d8572 Segrate rollback and recover functions. Write a brt-level test for the cursor static variable problem. Addresses #536, #538.
git-svn-id: file:///svn/tokudb@2829 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-14 19:14:31 +00:00
Bradley C. Kuszmaul
0f29f9abe7 Group commit working in tokulogger. Need to release some locks in ydb. Addresses #484.
git-svn-id: file:///svn/tokudb@2763 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-12 17:55:11 +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
cb204011d6 Improvements to rollback. Addresses #27.
git-svn-id: file:///svn/tokudb@2434 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-27 09:05:58 +00:00
Bradley C. Kuszmaul
b0e3bf13ba halfway broken rollback for delete. Addresses #27.
git-svn-id: file:///svn/tokudb@2431 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-27 07:14:03 +00:00
Bradley C. Kuszmaul
6105ff5838 Rollback during abort. Fixes #448.
git-svn-id: file:///svn/tokudb@2423 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-26 17:47:40 +00:00
Bradley C. Kuszmaul
2eaeb874ed Separate the code for generating rollbacks and recover log entries. Addresses #27.
git-svn-id: file:///svn/tokudb@2420 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-26 15:51:15 +00:00
Bradley C. Kuszmaul
461f9e0010 Typo. Addresses #27.
git-svn-id: file:///svn/tokudb@2409 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-25 23:28:49 +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
a1dfeebb13 Rollback is working a little better. Addresses #27.
git-svn-id: file:///svn/tokudb@2294 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-14 19:23:25 +00:00
Bradley C. Kuszmaul
10062269c7 Make each rollback code take a list of arguments rather than a single logentry. Makes it easier to notice that I've got unused variables. Addresses #27.
git-svn-id: file:///svn/tokudb@2206 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 22:16:02 +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
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
Bradley C. Kuszmaul
1ee574216a start making db-benchmark-test recoverable. Addresses #27.
git-svn-id: file:///svn/tokudb@1893 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 21:50:07 +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
fc5314ec6d Make the LSN be properly defined in the in-memory logentry so rollback will work right. Fixes #304.
git-svn-id: file:///svn/tokudb@1843 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 15:02:46 +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
8e8588a9e4 Log block allocation. Addresses #27.
git-svn-id: file:///svn/tokudb@1737 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-18 21:28:27 +00:00
Bradley C. Kuszmaul
26bce089d0 Log node creation more accurately. Addresses #27.
git-svn-id: file:///svn/tokudb@1716 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-17 19:03:37 +00:00
Bradley C. Kuszmaul
6bb86b7210 Log node splits better. Addresses #27.
git-svn-id: file:///svn/tokudb@1714 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-17 15:41:42 +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
Bradley C. Kuszmaul
1b6c9ebca8 Undo pma movements. Addresses #253.
git-svn-id: file:///svn/tokudb@1630 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-13 05:52:43 +00:00
Bradley C. Kuszmaul
982644cc0e test_abort1.tdb runs doesn't leak memory. Addresses #253.
git-svn-id: file:///svn/tokudb@1625 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-12 13:25:36 +00:00
Bradley C. Kuszmaul
2d734fa8b1 Reorganize how rollback and recovery are organized into files. Fixes #253.
git-svn-id: file:///svn/tokudb@1589 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-11 03:09:14 +00:00
Bradley C. Kuszmaul
37762ee7ff Stubs exist for all the rollback operations. Addresses #253.
git-svn-id: file:///svn/tokudb@1584 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-10 13:41:58 +00:00
Bradley C. Kuszmaul
06dfd4f0a4 Work on transactions rollback. Also Fixes #254. Addresess #253.
git-svn-id: file:///svn/tokudb@1572 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-09 19:58:46 +00:00
Bradley C. Kuszmaul
b938b597c4 If fsync fails on a log commit, panic the DB. (We don't know if the transaction committed or failed without doing recovery.)
Start work on saving the undo records in main memory for rollback.
Addresses #27 (recovery) 
Addresses #253 (rollback)


git-svn-id: file:///svn/tokudb@1561 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-08 22:18:42 +00:00
Bradley C. Kuszmaul
161e70ed01 Get rid of various memory leaks in the cxx (and test cxx exceptions) Addresses #215.
git-svn-id: file:///svn/tokudb@1327 c7de825b-a66e-492c-adef-691d508d4ae1
2007-12-22 18:40:22 +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
df410defa7 Rename the last bunch of symbols to toku_symbols. Closes #8.
git-svn-id: file:///svn/tokudb@829 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-29 18:14:40 +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
Bradley C. Kuszmaul
a9bae208c4 src/tests/test_log3.recover now works (can recover after inserting one thing into a BRT. Addresses #27. Closes #43.
git-svn-id: file:///svn/tokudb@767 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-27 10:48:31 +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
Rich Prohaska
c81c914777 run with -O0 on 32 bit linux creates a broken log_header.h file. Addresses #33
git-svn-id: file:///svn/tokudb@746 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-25 16:39:38 +00:00
Bradley C. Kuszmaul
ab3bdffaf3 Start logging an insert (but don't deal with the bt_compare issue yet. Addresses #27.
git-svn-id: file:///svn/tokudb@745 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-25 15:10:26 +00:00
Rich Prohaska
102719b272 logformat was crashing on RHEL5 machines. the contents of ap was being changed. addresses #33
git-svn-id: file:///svn/tokudb@742 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-25 14:32:52 +00:00
Bradley C. Kuszmaul
561a36213b Add len before each log entry. Closes #23.
Also gets rid of most of the manual log code.  The remaining code is tough to excise, so I'll call this closed.  Closes #32.


git-svn-id: file:///svn/tokudb@735 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-24 23:21: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
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
e17f972093 Implement recover. This version can scan the log, but doesn't actually recover. Addresses #27
git-svn-id: file:///svn/tokudb@727 c7de825b-a66e-492c-adef-691d508d4ae1
2007-11-23 18:27:50 +00:00