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