Commit graph

145 commits

Author SHA1 Message Date
Yoni Fogel
bc9fd74c80 Merge 2.0.0 back into main
svn merge --accept=postpone -r 12123:12373 ../../mysql.branches/2.0.0/tokudb/

git-svn-id: file:///svn/toku/tokudb@12375 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Bradley C. Kuszmaul
6c211758b1 Merge 1767 into main line (including 1768 and 1627 fixes) and delete 1767 branch. Fixes #1767. Refs #1768, 1627.
git-svn-id: file:///svn/toku/tokudb@12140 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:53 -04:00
Yoni Fogel
09944a690e Closes #1693 Zombie brts pass off responsibilities to others.
When a new brt is open, it takes over responsibilities of all existing zombie brts, and closes them.
When a brt closes, if other brts exist, it passes off responsibilities and closes immediately.  It only becomes a zombie if no other brts exist.

(Everything above is in context of a single header).

git-svn-id: file:///svn/toku/tokudb@11533 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
35090f156a Addresses #1691 Fix bug where abort(truncate) could crash us.
Remove transactions' need to count references to cachefiles (they already have references to brts)
Errors in rolling back certain functions were ignored (r = blah; return something_else);
They are now reported, so diskfull had to be updated to expect ENOSPC under certain circumstances.

git-svn-id: file:///svn/toku/tokudb@11371 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
bba8a8a3c7 Addresses #1691 Txn that created or locked when empty is now per dictionary (in header instead of brt)
We clear it when the transaction closes (this means we cannot change it when it is already set till that transaction finishes).
This fixes a crash in windows in root_fifo_2.tdb

git-svn-id: file:///svn/toku/tokudb@11365 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
358afe6814 Addresses #1692 Fixes the crash.
A memory leak is exposed by src/tests/root_fifo_1.c
It gets cleaned up when the transaction commits, but our VM could grow unbounded meanwhile

git-svn-id: file:///svn/toku/tokudb@11309 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Bradley C. Kuszmaul
17e5214663 Refs #1529.
git-svn-id: file:///svn/toku/tokudb@11223 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
1ed3f26d65 Add #ident Id info to all the newbrt/*.c and newbrt/*.h files. Refs #1529.
git-svn-id: file:///svn/toku/tokudb@11221 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
5c108195c3 Addresses #1603 Root fifo is gone.
git-svn-id: file:///svn/toku/tokudb@11165 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
ca0865e525 Addresses #1603 Rollback of a bug introduced.
Do not compare idx and index in remove_txn and remove_brt.  idx is from the iterating OMT and index is from the other OMT.
There is no reason they should match, therefore do not assert that they should

git-svn-id: file:///svn/toku/tokudb@11164 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
60812ccbfe Addresses #1603 Row descriptor changed from DB->DBT to DB->DBT*
Will aid in having multiple DB handles to a single brt, which is needed to kill root fifo

git-svn-id: file:///svn/toku/tokudb@11157 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
6561bd1af8 Addresses #1510 Final merge into main. Delete #1510 branch.
svn merge -r 11048:11110 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@11112 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
8f2b0a7e11 Addresses #1510 Merge of 1510 (so far) back into main
Several fixes are included, particulary db remove after db truncate (with descriptor) does not crash anymore.
svn merge -r 10931:11019 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@11020 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
dab780fdbd Addresses #1510 Merge tokud.main+1510 back into main
svn merge --accept=postpone -r 10895:10898 ../tokudb.main+1510
Previously on tokudb.main+1510:
svn merge --accept=postpone -r 10317:10892 ../tokudb.1510

git-svn-id: file:///svn/toku/tokudb@10899 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
cab4fe72c8 Addresses #1617 Add byte-order verification to header. version/size of header is always stored in network order
version of log is always stored in network order
cleaned up toku_htod

git-svn-id: file:///svn/toku/tokudb@10723 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Yoni Fogel
b2991231d6 Addresses #1611 Log reading lsn now reads it as disk order instead of hardcoded network order.
Previous commit [10714] should say addresses #1611 instead of #10694

git-svn-id: file:///svn/toku/tokudb@10715 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Yoni Fogel
2a36852736 Addresses #10694 Modified recovery to use toku_dtoh32 instead of manual intel byteswap
Recovery was assuming network byte order on disk, intel byte order in memory, and hardcoding a ntohl (not even calling ntohl).
This fixes the recovery tests with intel byte order on disk

git-svn-id: file:///svn/toku/tokudb@10714 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Yoni Fogel
4860352fb8 Addresses #1611 toku_htod32 and toku_dtoh32 replace htonl and ntohl (for internal use).
d stands for disk-byte-order (as opposed to n for network-byte-order)
Disk-byte-order set as Intel byte order for now

git-svn-id: file:///svn/toku/tokudb@10694 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Yoni Fogel
52819f0e4d Fix regression where we would not pass some memarenas to a parent transactions. Fixes #1577
git-svn-id: file:///svn/toku/tokudb@10456 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:45 -04:00
Bradley C. Kuszmaul
22e4312701 test1572 doesn't really test #1572 yet, but it did point out #1577. Now we are more careful about memory management in the rollback logs, so that we don't blow out memory. Fixes #1577. Refs #1572.
git-svn-id: file:///svn/toku/tokudb@10397 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:45 -04:00
Yoni Fogel
bad2519b8a Closes #1572 find_xid now defines a total order on TXNIDs
git-svn-id: file:///svn/toku/tokudb@10374 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:45 -04:00
Bradley C. Kuszmaul
9bdd6eaf62 All the old recovery tests work (#1364), and are merged onto the main line.
Refs #1510, Closes #1364.
This work was done on the 1510 branch, which we will create again.


git-svn-id: file:///svn/toku/tokudb@10313 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:44 -04:00
Yoni Fogel
3b42b55489 Closes #1378 Merged all changes into main.
git-svn-id: file:///svn/toku/tokudb@9507 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:41 -04:00
Yoni Fogel
84e3f1be9e Addresses #1443
Re-introduce the behavior that rollback_fcreate removes references to fd from lock tree
before deleting the file

This fixes regressions for windows in transaction abort tests

git-svn-id: file:///svn/toku/tokudb@9239 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:40 -04:00
Bradley C. Kuszmaul
a891e96918 Remove rolltmp files during recovery. Fixes #1324.
git-svn-id: file:///svn/toku/tokudb@9090 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:39 -04:00
Bradley C. Kuszmaul
1f796663cd Check in the code for compressing the rolltmp file.
This was a tricky merge.  In the 1332a directory I did:
{{{
svn merge https://svn.tokutek.com/tokudb/toku/tokudb.1032b+1332@8415 https://svn.tokutek.com/tokudb/toku/tokudb.1032b+1332@8416
}}}
Then I was able to resolve the conflicts.

Then in the main line I did:
{{{
svn merge -r9042:9046 https://svn.tokutek.com/tokudb/toku/tokudb.1332a
}}}

Fixes #1332.


git-svn-id: file:///svn/toku/tokudb@9047 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
85f355d631 Improve error messages and error handling when writes fail.
* Fixes #78 ({{{lg_bsize}}} works)
 * Fixes #1323 (write errors)
Did
{{{
svn merge -r8967:9031 https://svn.tokutek.com/tokudb/toku/tokudb.1323a
}}}

(And I'll delete the 1323 branches in a moment.)


git-svn-id: file:///svn/toku/tokudb@9032 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
3c6cbdbf42 Create a test for #1389. Addresses #1389.
git-svn-id: file:///svn/toku/tokudb@8802 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
ffd7d051a8 Merge #1311 (responsiveness during commit and abort) back to the main line.
{{{
svn merge -r 8703:8781 https://svn.tokutek.com/tokudb/toku/tokudb.1311
}}}
and delete the tokudb.1311 branch.

Addresses #1311.


git-svn-id: file:///svn/toku/tokudb@8782 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
0dfc3aa50d Some fixes for recovery (#1364). Also some temporary fixes for #1277. Addresses #1364, #1277.
Delete the 1364 branch, so I can restart it.
On the 1343 branch, I did:
{{{
svn merge -r 8586:8595 https://svn.tokutek.com/tokudb/toku/tokudb.1032b+1343+1364
}}}


git-svn-id: file:///svn/toku/tokudb.1032b+1343@8596 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:35 -04:00
Yoni Fogel
a9c69fd3fe Manual glue for svn-git migration for r8452 due to multiple merge + diffs in the same patch.
Original message:
Create a branch to make Doug Lea's malloc work. The big problem is having another malloc() in the system breaks things. Address #1343, #1032.
2013-04-16 23:57:33 -04:00
Yoni Fogel
1c9bd84222 Addresses #1339
Clean up properly on a logger that was not fully opened

git-svn-id: file:///svn/toku/tokudb.1032b@8406 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:32 -04:00
Yoni Fogel
3663cbb8db Closes #1339
Logger now unlocks all mutexes and destroys the two mutexes it contains.

Protected by a logger-close mutex to prevent anything from happening between the unlock and destroy.

git-svn-id: file:///svn/toku/tokudb.1032b@8397 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:32 -04:00
Rich Prohaska
a12ca96fba use toku_htonl. closes #1247
git-svn-id: file:///svn/toku/tokudb.1032b@7850 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:29 -04:00
Rich Prohaska
6ebe124875 imp toku_os_ closes #1253
git-svn-id: file:///svn/toku/tokudb.1032b@7837 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:28 -04:00
Rich Prohaska
84a5198b84 merge 1032 into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7782 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Rich Prohaska
730e17faaf merge 1032 into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7781 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Bradley C. Kuszmaul
0ee4e385f1 Merge all mainline patches into the 1195 branch. Fixes #1243.
Details:  I merged with
{{{
svn merge -r6585:7747 https://svn.tokutek.com/tokudb/toku/tokudb
}}}
then resolved conflicts.  The most interesting conflict was the double inclusion of the {{{BLOCK_ALLOCATOR_HEADER_RESERVE}}} for {{{brt-internal.h}}}.   The subversion merger got confused because the patch was applied with an extra space at the end of each line.


git-svn-id: file:///svn/toku/tokudb.1243@7750 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:26 -04:00
Rich Prohaska
c4415cbe27 compile with icc 32 bit linux. addresses #1195
git-svn-id: file:///svn/toku/tokudb.1195@7659 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:25 -04:00
Rich Prohaska
746d28bf51 compile with gcc. addresses #1185
git-svn-id: file:///svn/tokudb.1131b+1080a+1185+nostatementexprs@6469 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:21 -04:00
Bradley C. Kuszmaul
41253ffabb Get rid of more cil warnings. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6459 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -04:00
Bradley C. Kuszmaul
9f7f84e655 Get rid of almost all compiler warnings in newbrt for icc, and also compiles with gcc. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6383 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -04:00
Bradley C. Kuszmaul
0363b1697a Get rid of almost all compiler warnings in newbrt. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6381 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -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
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
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
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
Bradley C. Kuszmaul
71cb765433 Merge in the branch fix the rollback merging into the parent. Fixes #1035.
{{{
svn merge -r5259:5270 https://svn.tokutek.com/tokudb/tokudb.1035
}}}


git-svn-id: file:///svn/tokudb@5272 c7de825b-a66e-492c-adef-691d508d4ae1
2008-07-22 23:25:07 +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