Commit graph

2673 commits

Author SHA1 Message Date
Rich Prohaska
e8a671d611 imp toku_file_fsync in the port layer closes[t:1748]
git-svn-id: file:///svn/toku/tokudb@15805 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:52 -04:00
Yoni Fogel
357ebc950d Addresses #2172 refs[t:2172] Bugfix of commit r15040 (Addresses #2037 refs[t:2037])
Was not holding cachetable lock to access rwlock (whose mutex was cachetable lock).
This caused a race condition that you would sometimes grab the cachetable lock on exiting the lock but didn't have it before.

We believe this caused the deadlock

git-svn-id: file:///svn/toku/tokudb@15802 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:52 -04:00
Barry Perlman
5cae0d0bbd Closes #2171 refs[t:2171] Add version info to persistent environment, create hook for environment update.
git-svn-id: file:///svn/toku/tokudb@15795 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:52 -04:00
Rich Prohaska
58cf363b8d speedup the db-benchmark-test buffer generator refs[t:2123]
git-svn-id: file:///svn/toku/tokudb@15775 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:52 -04:00
Yoni Fogel
c943ab3b1c Addresses #2168 refs[t:2168] Skip fsync for transactions that have done no (modify) work.
i.e. only queries

git-svn-id: file:///svn/toku/tokudb.2037b@15766 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:07 -04:00
Yoni Fogel
ea21545874 Cleanup
git-svn-id: file:///svn/toku/tokudb.2037b@15764 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:07 -04:00
Rich Prohaska
8ce671ca1f fix the cxx build on the 2037b branch closes[t:2167]
git-svn-id: file:///svn/toku/tokudb.2037b@15759 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
18c2c68f7c Addresses #2164 refs[t:2164] Zombie locking contract now enforced in rename/remove
Checkpoint holds entire brt open (as zombie if necessary) instead of just holding open the cachefile.

git-svn-id: file:///svn/toku/tokudb.2037b@15740 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
a4f65b1154 Comment
git-svn-id: file:///svn/toku/tokudb.2037b@15739 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Barry Perlman
5035a3f718 Adresses #2037 refs[t:2037] Verify correct error codes for miscellaneous illegal operations.
git-svn-id: file:///svn/toku/tokudb.2037b@15737 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Rich Prohaska
7d0f2d1da3 compile on 32 bit linux refs[t:2124]
git-svn-id: file:///svn/toku/tokudb.2037b@15723 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
86a917a99d Closes #2160 closes[t:2160] Implement forward and backward recovery for fdelete.
fopen forward recovery: file missing (ENOENT) is not considered an error.

git-svn-id: file:///svn/toku/tokudb.2037b@15693 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
b3df0166e4 Closes #2158 closes[t:2158] Backwards recovery of fcreate does fclose (just like backwards fopen)
git-svn-id: file:///svn/toku/tokudb.2037b@15692 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
a522ceda16 Closes #2153 refs[t:2153] fopen logged only once (unless closed and reopened). Removed logger from cachefile_close,
removed txnid from logging of fopen.

git-svn-id: file:///svn/toku/tokudb.2037b@15691 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Barry Perlman
28752b831d Addresses #2037 refs[t:2037] Add test to verify correct use of directory range locks."
git-svn-id: file:///svn/toku/tokudb.2037b@15681 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
d87b38ebd0 Addresses #2124 refs[t:2124] Windows port of 'crash on diskfull'
git-svn-id: file:///svn/toku/tokudb.2037b@15678 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
841b72e176 Addresses #2150 refs[t:2150] Fix compile
git-svn-id: file:///svn/toku/tokudb.2037b@15677 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
a761b42336 Fixes #2124 closes[t:2124] On disk full, we print an error and abort (fail assert).
git-svn-id: file:///svn/toku/tokudb.2037b@15676 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
94fa27990c Addresses #2120 refs[t:2120] Internally created child transactions now copy parent's isolation level
git-svn-id: file:///svn/toku/tokudb.2037b@15675 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
273b614b1c Addresses #2150 refs[t:2150] Fix windows version of ydb lock.
Ydb lock was not being grabbed due to confusion with conditional compiling.
YDB lock is now taken/released if the fair scheduling code is not active

git-svn-id: file:///svn/toku/tokudb.2037b@15674 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
02789ec6c7 Closes #2120 closes[t:2120] Enforce that child transactions have same isolation level as parent's txn
git-svn-id: file:///svn/toku/tokudb.2037b@15672 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
f4227d1e39 addresses #2149 refs[t:2149] Add extra test for open db handles in
ENV->db(rename|remove) to prevent race conditions in the future.

git-svn-id: file:///svn/toku/tokudb.2037b@15658 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
7c1150b9b6 Addresses #2037 refs[t:2037] Added comments on transactional fileops tests, minor changes from code review.
git-svn-id: file:///svn/toku/tokudb.2037b@15657 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Barry Perlman
d817c605df Addresses #2075 refs[t:2075] Give all ydb-level test programs the ability to print engine status (when verbose).
git-svn-id: file:///svn/toku/tokudb.2037b@15654 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Barry Perlman
469926e445 Addresses #2037 refs[t:2037] Added test for transactional fileops.
git-svn-id: file:///svn/toku/tokudb.2037b@15647 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
a293c6dac5 Addresses #2090 refs[t:2090] Bugfix in reserving filenums during recovery.
Use filenum provided.

git-svn-id: file:///svn/toku/tokudb.2037b@15646 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
030df27e4d Addresses #2090 refs[t:2090] Logging for file create is done before actually creating file on disk.
We reserve a filenum before logging, and then use the reserved filenum when we actually open the cachefile.

git-svn-id: file:///svn/toku/tokudb.2037b@15645 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Barry Perlman
97fa5e2467 Addresses #2075, #2094 refs[t:2075] refs[t:2094]
Merge 2.2.0 scheduling statistics to 3.0.0 (#2075).
Restore #2094 fix to 3.0.0 (cachefiles_lock).
Command line for merge (executed in tokudb.2037b, ../tokudb.2.2.0 is local sandbox image of 2.2.0 release): svn merge -r14900:HEAD ../tokudb.2.2.0

git-svn-id: file:///svn/toku/tokudb.2037b@15629 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:06 -04:00
Yoni Fogel
6feac9ff0b Closes #2064 closes[t:2064] Forward recovery of fcreate sets initial descriptor in brt.
Added test (src/tests/recover-compare-db-descriptor.abortrecover) that fails before this change, succeeds with it.

git-svn-id: file:///svn/toku/tokudb.2037b@15589 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:05 -04:00
Yoni Fogel
ae5828e7b9 Closes #2058 closes[t:2058] Recovery passes a fake DB* (zeroed out DB struct) to brt
for purposes of DB comparison function.


git-svn-id: file:///svn/toku/tokudb@15583 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:05 -04:00
Yoni Fogel
ba3bd23b89 Addresses #2125 refs[t:2125] Windows build now compiles. The fairness scheduler is not yet working,
it uses original scheduler for now. (in windows)

git-svn-id: file:///svn/toku/tokudb@15580 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:05 -04:00
Yoni Fogel
88d66274a1 Closes #2128 closes[t:2128] List structure renamed to toku_list, same as header, and header moved
> to toku_include/.
> This is done to avoid poisoning namespace, and to be easily included by handlerton.

git-svn-id: file:///svn/toku/tokudb@15579 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:05 -04:00
Rich Prohaska
6f6974aae9 port fairsched from 2.2.0 to main (for linux only) refs[t:2083]
git-svn-id: file:///svn/toku/tokudb@15573 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Yoni Fogel
fbce59062f Addresses 2037 refs[t:2037] Merged from 2037-fileops branch.
git-svn-id: file:///svn/toku/tokudb@15565 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Yoni Fogel
580f5caafb Addresses #2037 refs[t:2037] Merged #2037 back into main
git-svn-id: file:///svn/toku/tokudb@15562 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
805eef87be rename the recover lock file closes[t:2095]
git-svn-id: file:///svn/toku/tokudb@15558 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Yoni Fogel
fb07c1e150 Addresses #2119 refs[t:2119] Merged 2119 fix into main
git-svn-id: file:///svn/toku/tokudb@15513 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
ac4ce3e71a add --nosync to db-benchmark-test refs[t:1967]
git-svn-id: file:///svn/toku/tokudb@15503 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Yoni Fogel
95f0e10dea Addresses #2116 refs[t:2116] Fix windows build.
git-svn-id: file:///svn/toku/tokudb@15431 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
fc403e0809 put sync_fetch_and_add in the portability layer closes[t:2105]
git-svn-id: file:///svn/toku/tokudb@15294 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
00637a69e7 try cpuinfo_max_freq before cpuinfo close[t:2104]
git-svn-id: file:///svn/toku/tokudb@15293 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
22b6cb163e merge 1967.mtm2 to main refs[t:1967]
git-svn-id: file:///svn/toku/tokudb@15205 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
b9fd911c81 fix the broken tokudb build refs[t:2088]
git-svn-id: file:///svn/toku/tokudb@15172 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
a8d53f5897 build tokudb on linux 32 with -march=i686 refs[t:2087]
git-svn-id: file:///svn/toku/tokudb@15156 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
6822031243 fix some linux build problems with icc 11 close[t:2088]
git-svn-id: file:///svn/toku/tokudb@15149 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
6e3ddb3d14 port get_processor_frequency from 2.2.0 to main refs[t:2083]
git-svn-id: file:///svn/toku/tokudb@15130 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Dave Wells
07ac9b0dc2 change routines to be more callback friendly - refs[t:1977]
git-svn-id: file:///svn/toku/tokudb@15129 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
8f327ffe36 build with bdb refs[t:2058]
git-svn-id: file:///svn/toku/tokudb@15065 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
6cd0d57e45 fix a couple of the failing cxx tests refs[t:2014]
git-svn-id: file:///svn/toku/tokudb@15047 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00
Rich Prohaska
0024eb77ab link to the shared tokudb lib to pick up the lib constructor refs[t:2014]
git-svn-id: file:///svn/toku/tokudb@15046 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:04 -04:00