Commit graph

2172 commits

Author SHA1 Message Date
John Esmet
0a1d95065c [t:4838] the locktree now opens its own ft handle when created to ensure that the ft stays in memory so long as the lock tree is in memory. we use an on_create and on_destroy callback to keep the txn/ft logic out of the locktree. the api for toku_ltm_get_lt is a little hairy now. a better solution may come in the future. for now, the original failing test passes.
git-svn-id: file:///svn/toku/tokudb@44819 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Leif Walsh
d47220c827 [t:4686] [t:5123] [t:5062] merge #4686 to main, includes fix for #5123. closes #4686.
git-svn-id: file:///svn/toku/tokudb@44814 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
8e7bc18ed8 close[t:5124] use a cleaner way of access an FT_HANDLE's descriptor pointers at the ydb layer. comment the ft API, too.
git-svn-id: file:///svn/toku/tokudb@44811 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
99568e9652 [t:5113] carefully document a non-obvious contract requirement for change descriptor. clients may ONLY update a FT's cmp descriptor if it's the first operation done after open, before any reads or writes. further, remove the test - it's user error.
git-svn-id: file:///svn/toku/tokudb@44804 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
6418c5c80f [t:5113] spruce up the default parameters and put a reader-writer lock around the global variable used in the assertion, so we know for certain we're not just racing to read THAT variable
git-svn-id: file:///svn/toku/tokudb@44778 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
f75af8ab78 [t:5113] first commit the test that exposes the bug
git-svn-id: file:///svn/toku/tokudb@44777 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
1cbfa22676 [t:4838] first push the test that exposes 4838
git-svn-id: file:///svn/toku/tokudb@44776 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
08531ecc0a [t:5112] removed the fd param from update descriptor, improved the name, removed some unnecessary return codes from functions that cannot fail
git-svn-id: file:///svn/toku/tokudb@44771 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
Leif Walsh
aebe247eaa [t:5094] merge to main, delete dev branch. closes #5094.
git-svn-id: file:///svn/toku/tokudb@44769 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:52 -04:00
John Esmet
d6b5f0b432 close[t:5100] close[t:4930] the api for closing a ft has been simplified for normal use. for recovery, there is a new function that internally asserts the underlying ft is close and passes a valid lsn to the cachefile for closing
git-svn-id: file:///svn/toku/tokudb@44748 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
cdda8bfabe close[t:5109] address some comments from code review concerning the naming of functions that remove an ft from memory vs removing a ft from the filesystem.
git-svn-id: file:///svn/toku/tokudb@44741 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Bradley C. Kuszmaul
a9264b9627 Some comments written during the open/close fops code review.
git-svn-id: file:///svn/toku/tokudb@44737 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Leif Walsh
f4f5ef8d49 [t:4871] fix ipo warnings when compiling range_tree/lock_tree tests
git-svn-id: file:///svn/toku/tokudb@44735 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Yoni Fogel
7b6973adb0 [t:4963] Fix bug with open/closing lock tree in multiple threads
The previous fix added a new race condition; When the new race hits, we leak lock trees.

git-svn-id: file:///svn/toku/tokudb@44677 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
ebd82144e8 [t:4938] can't run test_stress_openclose using bdb
git-svn-id: file:///svn/toku/tokudb@44676 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Leif Walsh
94b291779a [t:5094] revert change for #5094 because it doesn't work yet
git-svn-id: file:///svn/toku/tokudb@44672 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
Leif Walsh
0da230d143 [t:5094] build libtokudb_static.a by extracting all .o files, recompiling
with -ipo-c into one .o, and rearchiving.  closes #5094.


git-svn-id: file:///svn/toku/tokudb@44667 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:51 -04:00
John Esmet
2306c3d9ff [t:4963] fix another issue with reference counting in lock trees. we should not store a lock tree object in the manager if its reference count is zero, too many cases to deal with toku_ltm_get_lt. instead, atomically check if a lt's ref is 1 and remove it from the manager, so no race can occur between removing and adding another reference.
git-svn-id: file:///svn/toku/tokudb@44661 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Leif Walsh
76d674aca8 [t:4871] fix compile of shared range_tree and lock_tree libs with intel compiler
git-svn-id: file:///svn/toku/tokudb@44657 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Leif Walsh
ca51b430a0 [t:5092] fix #5092:
- make the bool in logformat an enum: "doesn't care about logging begin",
   "should log begin if it hasn't been logged yet", and "should assert
   that the begin was already logged"
 - make logging client code not try to log commits, prepares, or aborts
   for read-only txns
 - added test, fixed another test


git-svn-id: file:///svn/toku/tokudb@44651 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
John Esmet
006f1156bd [t:4938] stress test for dictionary open/close with referencing txn + checkpoint, renamed to something a stress regex can understand
git-svn-id: file:///svn/toku/tokudb@44650 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Leif Walsh
c285dc365d [t:4871] fix cmake typo
git-svn-id: file:///svn/toku/tokudb@44649 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
John Esmet
504c942349 [t:4938] this is a better name
git-svn-id: file:///svn/toku/tokudb@44628 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
John Esmet
881a82c8df [t:4938] starting a refcount stress test
git-svn-id: file:///svn/toku/tokudb@44627 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Leif Walsh
d6d59ec4b5 [t:4871] use shared lib for {lock,range}_tree tests, speeds up build, and add prefixes to test names to use regexes better
also better osx/clang support, compile with -O4 now
and use the same compiler for the fractal tree and lzma


git-svn-id: file:///svn/toku/tokudb@44602 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Leif Walsh
2965d87a27 [t:4687] resolve warning about -Wstrict-aliasing
git-svn-id: file:///svn/toku/tokudb@44594 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:50 -04:00
Leif Walsh
e13da393bc [t:5062] txnid becomes separate from lsn, and optimizations for read-only txns
git-svn-id: file:///svn/toku/tokudb@44591 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
John Esmet
67c1e6ae80 close[t:4806] fix status text to say memory in use for locks
git-svn-id: file:///svn/toku/tokudb@44581 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Zardosht Kasheff
df1556b805 [t:4687], fix some issues surrounding hot indexing and its stress test
git-svn-id: file:///svn/toku/tokudb@44570 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Zardosht Kasheff
59e5929d56 [t:4687], add scans
git-svn-id: file:///svn/toku/tokudb@44555 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Zardosht Kasheff
414ad7e518 [t:4687], a hot indexing stress test, very simple, still needs scans after hot indexing work is done to verify correctness
git-svn-id: file:///svn/toku/tokudb@44551 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
38ae050c90 [t:4871] do not use COMPILE_FLAGS_RELEASE until http://www.cmake.org/Bug/view.php?id=6493 is fixed.
git-svn-id: file:///svn/toku/tokudb@44550 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
dc4776a770 [t:4871] implement binary compilation options in a nicer way in cmake,
only do it for release builds, play nicer with multi-configuration
generators like vs and xcode


git-svn-id: file:///svn/toku/tokudb@44535 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
11f07aa622 [t:4871] increase timeout for drd_mid_test_stress* and drd_large_test_stress*.
should we really be running these every night?


git-svn-id: file:///svn/toku/tokudb@44533 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
9c1f8f2b5b [t:5073] change how we link zlib so as not to confuse osx in some cases
git-svn-id: file:///svn/toku/tokudb@44531 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
d3a6f99e14 [t:5073] fix most clang problems on linux, ignore -Wcast-align for now
git-svn-id: file:///svn/toku/tokudb@44529 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
5c89903804 [t:4871] fixing linking of portability and ydb layer with external things
git-svn-id: file:///svn/toku/tokudb@44509 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
6f24c4fa88 [t:4871] clean up compilation flags across the board
git-svn-id: file:///svn/toku/tokudb@44507 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
d8601e192a [t:5069] move toku_mutex_t's locked member to only exist when compiling with TOKU_PTHREAD_DEBUG, for performance reasons
git-svn-id: file:///svn/toku/tokudb@44506 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
5ecfb1c85f [t:4871] synchronize -D settings with old make system (IS_TDB=1)
git-svn-id: file:///svn/toku/tokudb@44487 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:49 -04:00
Leif Walsh
810b6b645a [t:5027] increment put stats more often
git-svn-id: file:///svn/toku/tokudb@44385 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Leif Walsh
4b373ecd88 [t:5027] compile fix
git-svn-id: file:///svn/toku/tokudb@44383 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Leif Walsh
c5f1898ad4 [t:5027] add operation_extra for serial inserts
git-svn-id: file:///svn/toku/tokudb@44382 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Leif Walsh
8d341cca30 [t:5027] fix a really stupid error (write past the end of an array)
git-svn-id: file:///svn/toku/tokudb@44380 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Leif Walsh
ef2992362c [t:5027] fix compilation, needed attribute unused
git-svn-id: file:///svn/toku/tokudb@44378 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Yoni Fogel
593f7bbeb7 [t:5027] Fixed parsing of integers
git-svn-id: file:///svn/toku/tokudb@44376 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Leif Walsh
e3aa19aa45 [t:5027] clean up a little, add serial inserts and interleaving
git-svn-id: file:///svn/toku/tokudb@44375 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Yoni Fogel
de774f7a27 [t:5027] Added a generic parser/helper for options (cleaned up significantly)
git-svn-id: file:///svn/toku/tokudb@44374 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Yoni Fogel
2b8d2634e5 [t:5027] Made cli_args accessible through args. Removed redundant variables.
git-svn-id: file:///svn/toku/tokudb@44373 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00
Yoni Fogel
5574a100f2 [t:5027] Fix compilation error
git-svn-id: file:///svn/toku/tokudb@44368 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-17 00:00:48 -04:00