Commit graph

72 commits

Author SHA1 Message Date
Yoni Fogel
00ac50e3e9 refs #5802 Fix calculations for probabilistic clock,
take into account things could be negative (so use int64_ts instead of uint_64) and set appropriate max for size_current

git-svn-id: file:///svn/toku/tokudb@51207 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
3ad68549df refs #5802, compile fix
git-svn-id: file:///svn/toku/tokudb@51206 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
985e18813f refs #5802, add some casts
git-svn-id: file:///svn/toku/tokudb@51205 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
d13962d4d6 closes #5807, remove assert until we have #5672 fixed
git-svn-id: file:///svn/toku/tokudb@51201 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
e5151f7eda refs #5802, refine comment
git-svn-id: file:///svn/toku/tokudb@51200 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
bf54341114 refs #5802, fix up math, fix inequality
git-svn-id: file:///svn/toku/tokudb@51198 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
cd8b5d7e2b refs #5802, fix some math
git-svn-id: file:///svn/toku/tokudb@51192 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
97d8311d89 refs #5802, fix some math
git-svn-id: file:///svn/toku/tokudb@51190 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
979ce809bb refs #5802, redo the math to avoid divisions and expensive modular arithmetic, add comments explaining why math makes sense
git-svn-id: file:///svn/toku/tokudb@51189 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
9fbe4863a0 refs #5802, merge probabilistic PAIR clock decrementing from tokudb.fb to main.
git-svn-id: file:///svn/toku/tokudb@51187 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:23 -04:00
Zardosht Kasheff
d605f812fb refs #5730, make cachefiles list a doubly linked list for more efficient close, helps shutdown
git-svn-id: file:///svn/toku/tokudb@50881 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:22 -04:00
Leif Walsh
4998a0d032 refs #5672 don't bother doing fancy drd things for m_size_evicting
git-svn-id: file:///svn/toku/tokudb@50762 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:21 -04:00
Leif Walsh
faa4928a74 refs #5672 #5742 suppress race we know about on size_current/size_evicting, suppress more warnings from that helgrind bug
git-svn-id: file:///svn/toku/tokudb@50725 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:21 -04:00
Leif Walsh
e485a1218e refs #5672 re-enable assert
git-svn-id: file:///svn/toku/tokudb@50628 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:20 -04:00
Leif Walsh
ec84851bd3 refs #5672 disable assert(m_size_current == 0) for one build
git-svn-id: file:///svn/toku/tokudb@50581 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:20 -04:00
Leif Walsh
cfea900e2f refs #5672 add invariant to do_partial_fetch
git-svn-id: file:///svn/toku/tokudb@50536 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:20 -04:00
Zardosht Kasheff
bb07e09525 closes #5729, when returning TOKUDB_TRY_AGAIN, don't ever set the write lock type to expensive
git-svn-id: file:///svn/toku/tokudb@50514 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:19 -04:00
Zardosht Kasheff
860c7994b0 refs #5731, make removing a cachefile from the linked list not be recursive
git-svn-id: file:///svn/toku/tokudb@50510 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:19 -04:00
Leif Walsh
d55461eb70 closes #5696 remove drd ignoring stuff, we think I fixed the bug in another way
git-svn-id: file:///svn/toku/tokudb@50325 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:18 -04:00
Leif Walsh
b007ef017d refs #5696 possible fix for drd issues, and for what seems like a typo condition
git-svn-id: file:///svn/toku/tokudb@50158 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:17 -04:00
Yoni Fogel
3af91c0f51 refs #5467 merge "kill put loader, fix hot indexer freeze issue" onto main
git-svn-id: file:///svn/toku/tokudb@50137 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:17 -04:00
John Esmet
65cd284834 fixes #5351 fixes #5528 merge the new locktree to main. the locktree, locktree manager, and blocking lock request api are implemented at the toplevel under locktree/ and the ydb layer has been modified to use the new API. some kruft has been deleted from various parts of the source tree and these merge also includes a change where we kill 'includes.h'
git-svn-id: file:///svn/toku/tokudb@49851 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:15 -04:00
Leif Walsh
bf70bbb898 refs #5418 merge promotion to main
git-svn-id: file:///svn/toku/tokudb@49697 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
3ec4608bf9 refs #5661, move advancement of cleaner head to outside of if-clause, preventing infinite loop in cleaner
git-svn-id: file:///svn/toku/tokudb@49557 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
e5faea7b5c closes #5661, fix drd issue
git-svn-id: file:///svn/toku/tokudb@49538 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
979df60ec4 closes #5641, change cycle detection for evictor. It is not perfect, but should be good enough. We are guaranteed to never keep spinning and spinning
git-svn-id: file:///svn/toku/tokudb@49505 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
5de577dd0d closes #5653, export a function to change number of bucket mutexes
git-svn-id: file:///svn/toku/tokudb@49497 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
ae017d29b7 refs #5651, fix a small issue
git-svn-id: file:///svn/toku/tokudb@49477 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
cd791c3206 closes #5651, make closing a cachefile cheaper
git-svn-id: file:///svn/toku/tokudb@49470 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
ddfd46fb56 refs #5634, merge bucket mutexes to main
git-svn-id: file:///svn/toku/tokudb@49391 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:14 -04:00
Zardosht Kasheff
baf1831ffe refs #5560, merge to main
git-svn-id: file:///svn/toku/tokudb@49128 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:13 -04:00
Leif Walsh
774afe534d refs #5592 move circular_buffer, omt, threadpool, growable_array, rwlock, frwlock, kibbutz, mempool, partitioned_counter, nb_mutex, sort to util/, and some other cleanup stuff
git-svn-id: file:///svn/toku/tokudb@48763 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:13 -04:00
Leif Walsh
c3a0afeab3 refs #5368 unify race detection tool annotations in <toku_race_tools.h>
git-svn-id: file:///svn/toku/tokudb@48361 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:11 -04:00
John Esmet
1b8c8ac4b2 refs #5500 close userdata and checkpoint userdata do not fail, so cachefile close and ft evict from memory do not fail
git-svn-id: file:///svn/toku/tokudb@48237 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:09 -04:00
John Esmet
c9e96a8735 refs #5500 fsyncs do not fail, so the userdata callbacks do not fail
git-svn-id: file:///svn/toku/tokudb@48236 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:09 -04:00
John Esmet
0bc5013e30 fixes #5423 fixes #5424 fixes #5503 fixes #5225 fsync always succeeds and returns void, no more ft panic or logger panic, no more impossible error paths
git-svn-id: file:///svn/toku/tokudb@48076 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:08 -04:00
Leif Walsh
bd63072bdf closes #5485 #5368 clean up cmake and get darwin portability:
for 5485:
 - remove icc handling stuff from cmake
 - clean up remaining cmake files
 - create libtokudb_static.a in a cleaner way using cmake OBJECT libs (requires cmake 2.8.9)
 - use POSITION_INDEPENDENT_CODE property instead of manually setting -fPIC
for 5368:
 - fix compilation failures due to small differences between gcc and clang, mostly in tests
 - use toku_fileids_are_equal instead of memcmp to compare fileids (closes #5505)
 - create dummy implementation of partitioned_counter for osx (quick fix for, and closes #5506)
 - add mutex->valid bit under TOKU_PTHREAD_DEBUG
 - initialize mutex of DB_TXN created during recovery for 2PC (closes #5507)


git-svn-id: file:///svn/toku/tokudb@48024 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:07 -04:00
Zardosht Kasheff
8f93bfd8d0 refs #5467, undo checkin
git-svn-id: file:///svn/toku/tokudb@47900 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:07 -04:00
Zardosht Kasheff
5dd0e5e897 refs #5467, merge to main
git-svn-id: file:///svn/toku/tokudb@47870 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Christian Rober
9e0156097d refs #5372 Removed checks for CACHEFILE callbacks. Replaced with asserts.
git-svn-id: file:///svn/toku/tokudb@47780 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Yoni Fogel
b3c5f5f458 refs #5461 Comment changes based on code review of cachetable
git-svn-id: file:///svn/toku/tokudb@47736 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Yoni Fogel
70298deff6 refs #5461 Crash (rare) bugfix in cachetable when unpinnning a node that is pinned by 256k readers.
Also some minor cleanup based on code review

git-svn-id: file:///svn/toku/tokudb@47735 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Yoni Fogel
3bd32d9fbc refs #5461 Some cleanup based on code review of cachetable
git-svn-id: file:///svn/toku/tokudb@47729 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Zardosht Kasheff
31c3324c24 closes #5439, fix stress test issue
git-svn-id: file:///svn/toku/tokudb@47702 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Christian Rober
36d9dc7b4b refs #5372 Added pointer to pair list. Updated associated tests and uses of pair list. This removes cachetable pointer from checkpointer.
git-svn-id: file:///svn/toku/tokudb@47544 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Christian Rober
7ff44dc1f8 refs #5372 Added evictor pointer to checkpointer. This was needed to remove some of the dependency on the cachetable in checkpointer methods.
git-svn-id: file:///svn/toku/tokudb@47539 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Christian Rober
18ded8b559 refs #5372 Replaced CACHETABLE pointer argument with checkpointer pointer. The relevant logging function only needed the checkpointer.
git-svn-id: file:///svn/toku/tokudb@47537 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:06 -04:00
Zardosht Kasheff
226cf008dd closes #5421, fix asserts in cachetable
git-svn-id: file:///svn/toku/tokudb@47500 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:05 -04:00
Leif Walsh
669b727eb4 closes #5427 take a cheap write lock during checkpoint
git-svn-id: file:///svn/toku/tokudb@47346 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:05 -04:00
Zardosht Kasheff
000ecba786 refs #5421, fix a race condition in accessing p->attr.
git-svn-id: file:///svn/toku/tokudb@47308 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:01:05 -04:00