Commit graph

172 commits

Author SHA1 Message Date
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
48245c848f Addresses #1670
Serialize descriptor with each brtnode (leaf and nonleaf) 
Deserialize descriptor with each brtnode (to be thrown away). 
    Don't malloc+memdup the descriptor for brtnodes, since that would waste time.




git-svn-id: file:///svn/toku/tokudb@11200 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Yoni Fogel
1b96373aca Addresses #1670 Standardized descriptor (de)serialization.
Added versioning to descriptor.
Changing a descriptor REQUIRES the version to increase.
Version 0 is reserved for a non-descriptor db. (cannot be set).
Not yet added to brtnodes.
Still possible to change descriptor with an open brt (which would not be upgraded).


git-svn-id: file:///svn/toku/tokudb@11198 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
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
0b981a3796 Addresses #1639 Can now remove (unnamed) old version dbs. Test included
git-svn-id: file:///svn/toku/tokudb@10925 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:47 -04:00
Yoni Fogel
5dc29af42c Addresses #1510 windows 32bit port of [10889]
git-svn-id: file:///svn/toku/tokudb@10914 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
Bradley C. Kuszmaul
da0efde586 Merge in 1591 and fix conflicts. Fixes #1591.
{{{
svn merge -r10512:10803 https://svn.tokutek.com/tokudb/toku/tokudb.1591
}}}


git-svn-id: file:///svn/toku/tokudb@10804 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
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
Rich Prohaska
75adfb68c7 build with icl on windows. closes #1608
git-svn-id: file:///svn/toku/tokudb@10663 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Rich Prohaska
f87a582938 fix a 32/64 bit compile issue. addresses #1489
git-svn-id: file:///svn/toku/tokudb@10644 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Rich Prohaska
9d20502817 merge 1489 to main. addresses #1489
git-svn-id: file:///svn/toku/tokudb@10639 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:46 -04:00
Yoni Fogel
784f4eb22c Closes #1575 Added toku_omt_create_steal_sorted_array
git-svn-id: file:///svn/toku/tokudb@10378 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
d9988c26b7 Closes #1557 Blocktable now has 1 lock per brt
git-svn-id: file:///svn/toku/tokudb@10254 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:44 -04:00
Yoni Fogel
7cae47dff4 Fixes #1542 h->dirty protected by the translation table lock
git-svn-id: file:///svn/toku/tokudb@10162 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:44 -04:00
Bradley C. Kuszmaul
4257a03411 Double check that uses of snprintf inside brt code are OK. Refs #1508.
git-svn-id: file:///svn/toku/tokudb@9717 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:42 -04:00
Rich Prohaska
2a7eca3e3c merge the read a block using a single read system call to main. closes #1500
git-svn-id: file:///svn/toku/tokudb@9667 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:42 -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
d1aab2ef76 Addresses #1463
Abstracted out the block translation table and the block allocator
into BLOCK_TABLE
All use is done by accessors surrounded by locks.


git-svn-id: file:///svn/toku/tokudb@9360 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:41 -04:00
Rich Prohaska
908ad92c45 fix an obsolete assert. closes #1413
git-svn-id: file:///svn/toku/tokudb@9060 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
d51bc82a86 Turn on higher compression (#1192), increase block size (#1168), and provide a way to measure workqueue fullness (#1399).
Fixes #1168, #1192, #1399.

{{{
svn merge -r8927:9039 https://svn.tokutek.com/tokudb/toku/tokudb.1399
}}}
and resolve conflicts.


git-svn-id: file:///svn/toku/tokudb@9040 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -04:00
Bradley C. Kuszmaul
3b5808f0e0 Quiet down diskfull. Fixes #1409.
git-svn-id: file:///svn/toku/tokudb@9037 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
Yoni Fogel
afdb6c6bb9 Closes #1321
Remove locks around pread (pread in windows is now thread safe)

git-svn-id: file:///svn/toku/tokudb@8740 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:38 -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
Bradley C. Kuszmaul
c8eba4924f change {{{db-benchmark-test}}} so that it can skip creating recovery logs. Addresses #1332.
git-svn-id: file:///svn/toku/tokudb.1032b@8430 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:33 -04:00
Bradley C. Kuszmaul
2e02d2518b Candidate fix for #1308 (part a). Addresses #1308.
git-svn-id: file:///svn/toku/tokudb.1032b@8279 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Bradley C. Kuszmaul
244db7712a Create a test for 1308. Addresses #1308.
git-svn-id: file:///svn/toku/tokudb.1032b@8277 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Bradley C. Kuszmaul
95c77b2f6a Fix two of the cases in #1308. Addresses #1308.
git-svn-id: file:///svn/toku/tokudb.1032b@8274 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Yoni Fogel
cfb07b7d5d Addresses #1307
fstat calls replaced with toku_os calls.
fstat deprecated everywhere except the 'linux' portability directory

git-svn-id: file:///svn/toku/tokudb.1032b@8264 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Zardosht Kasheff
1e794e4d01 addresses #1032
put locks around pread

git-svn-id: file:///svn/toku/tokudb.1032b@8179 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Yoni Fogel
ca79f7aed3 Addresses #1296
Global mutexes are now initialized in toku_ydb_init, destroyed in toku_ydb_destroy.

Globals in tdbtrace.c (not default) are not yet initialized.

git-svn-id: file:///svn/toku/tokudb.1032b@8149 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:30 -04:00
Rich Prohaska
987c03b986 merge tokudb revision 7776-7883 to toudb.1032b. closes #1260
git-svn-id: file:///svn/toku/tokudb.1032b@7888 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:29 -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
fbfd0476ba more merging of 1032 to 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7779 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Rich Prohaska
0d44815bf5 merge some tokudb.1032 into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7778 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Rich Prohaska
ab0ac5ad70 merge ticket 1200 changeset 6617 to the tokudb.1195 branch. addresses #1200 adresses #1195
git-svn-id: file:///svn/toku/tokudb.1195@7705 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:25 -04:00
Bradley C. Kuszmaul
6b654211c0 free diskblocks. Addresses #1195.
git-svn-id: file:///svn/toku/tokudb.1195@7679 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:25 -04:00
Bradley C. Kuszmaul
586af672c5 newbrt tests run (had to get the keylen computation right.) Still does not reuse blocknums and diskspace. Addresses #1195.
git-svn-id: file:///svn/toku/tokudb.1195@7605 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:24 -04:00
Bradley C. Kuszmaul
2dd4dd7b0d the splitting works again. Addresses #1195.
git-svn-id: file:///svn/toku/tokudb.1195@7054 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:23 -04:00
Bradley C. Kuszmaul
2f0936b291 Fix up some sizing issues, set the dirty bit after splitting, and put in a lot of printfs. Addresses #1195.
git-svn-id: file:///svn/toku/tokudb.1195@6883 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:23 -04:00
Bradley C. Kuszmaul
cd8840f04d Get rid of icc warnings (with port-win warnings.) Addresss #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185+nostatementexprs@6466 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:21 -04:00
Bradley C. Kuszmaul
0ed47ea357 CIL gets upset if includes are not in the same order, because int64_t gets typedefed to different things depending on what you include. So do all the includes in a standard way. Addresses #1185.
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6439 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -04:00
Rich Prohaska
8ae6c215b3 get brt-serialize-test working. addresses #1185
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6379 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -04:00