Commit graph

1064 commits

Author SHA1 Message Date
Barry Perlman
646141a74c Addresses #1736, #1398 When inside straddle_hack callback don't use normal rwlock_read_lock for get_and_pin, but simply increment reader count instead. This prevents deadlock where callback waits for end_checkpoint to release write lock, but while end_checkpoint waits for callback to release read lock.
git-svn-id: file:///svn/toku/tokudb@11658 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
dca1d5ce2a Addresses #1694 Merged checkpoint stress upgrades from 2.0.0 into main
git-svn-id: file:///svn/toku/tokudb@11603 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
c3ef730280 Addresses #1691 Modified root fifo tests to test additional cases.
git-svn-id: file:///svn/toku/tokudb@11532 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
40f04fbc80 Re-port to linux after porting to windows
git-svn-id: file:///svn/toku/tokudb@11528 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
6d3fdbd7a1 Addresses #1694 Port checkpoint_stress to windows
git-svn-id: file:///svn/toku/tokudb@11526 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Barry Perlman
82c423dda2 Addresses #1694 Improved checkpoint_stress user interface.
git-svn-id: file:///svn/toku/tokudb@11509 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Barry Perlman
0f8fdfa00c Fixes #1694 Added stress test script to Makefile.
git-svn-id: file:///svn/toku/tokudb@11508 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Barry Perlman
6e6e27c739 Addresses #1694 Checkpoint stress test
git-svn-id: file:///svn/toku/tokudb@11506 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Barry Perlman
0dfea88d8c Add structure to perform random acts while awaiting crash.
git-svn-id: file:///svn/toku/tokudb@11497 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
33ebb7b3c0 Improve checkpoint tests
git-svn-id: file:///svn/toku/tokudb@11496 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Yoni Fogel
b04619c7e2 Add scribble, sleep.
git-svn-id: file:///svn/toku/tokudb@11494 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Rich Prohaska
192b37fe3f fix some more root fifo tests for bdb. closes #1721
git-svn-id: file:///svn/toku/tokudb@11488 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Rich Prohaska
94898878d0 run the root fifo tests on bdb. addresses #1721
git-svn-id: file:///svn/toku/tokudb@11487 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:51 -04:00
Barry Perlman
cded4738f5 Added multiple dictionaries, improved logic to simulate crash.
git-svn-id: file:///svn/toku/tokudb@11468 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
1e8c3a4cff Accommodate change made to checkpoint_test.h (for purpose of checkpoint_stress).
git-svn-id: file:///svn/toku/tokudb@11466 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
fcb1a08cac Add checkpoint_stress to BDB_DONTRUN_TESTS list.
git-svn-id: file:///svn/toku/tokudb@11464 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
a89f2aea08 Added checkpoint_stress test (not complete),
modified other checkpoint tests for common code.


git-svn-id: file:///svn/toku/tokudb@11446 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
35b7e290ca Addresses #1510 Change argv to support getopt, remove const for ease of use.
git-svn-id: file:///svn/toku/tokudb@11400 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
92341bbe66 Improve structure of checkpoint tests.
git-svn-id: file:///svn/toku/tokudb@11395 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
35090f156a Addresses #1691 Fix bug where abort(truncate) could crash us.
Remove transactions' need to count references to cachefiles (they already have references to brts)
Errors in rolling back certain functions were ignored (r = blah; return something_else);
They are now reported, so diskfull had to be updated to expect ENOSPC under certain circumstances.

git-svn-id: file:///svn/toku/tokudb@11371 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Rich Prohaska
81d6b8f213 another root fifo test case. addresses #1691
git-svn-id: file:///svn/toku/tokudb@11370 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Rich Prohaska
0e465396a8 fixup root_fifo tests. addresses #1691
git-svn-id: file:///svn/toku/tokudb@11360 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
140f8d751d Streamline makefile for windows
git-svn-id: file:///svn/toku/tokudb@11359 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
9d934a9e44 Addresses #1510 Added tests that open/insert/close unrelated dictionary during checkpoint.
git-svn-id: file:///svn/toku/tokudb@11346 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
a6aae346c4 Addresses #1510 Add test that dictionary being checkpointed can be closed during a checkpoint.
git-svn-id: file:///svn/toku/tokudb@11345 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Barry Perlman
4f91cd57cd Addresses #1510 Add more checkpoint testing.
Verify that inserts done during checkpoint do not appear 
in checkpoint snapshot but do appear in dictionary after 
checkpoint is complete.


git-svn-id: file:///svn/toku/tokudb@11344 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
91fd49318c Windows ports Addresses #1665
git-svn-id: file:///svn/toku/tokudb@11337 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:50 -04:00
Yoni Fogel
86df71b858 Fix Makefile for new tdb-only tests
git-svn-id: file:///svn/toku/tokudb@11335 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Rich Prohaska
4d2ba39e35 add some tests for the removal of the root fifo. addresses #1691
git-svn-id: file:///svn/toku/tokudb@11326 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Rich Prohaska
d828d60b87 add db_env_set_checkpoint_callback to the tokuglobals. closes #1695
git-svn-id: file:///svn/toku/tokudb@11323 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
4784ac1f0b Hold checkpoint_safe lock when setting callback, clear callback at end of test.
git-svn-id: file:///svn/toku/tokudb@11320 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
51ba43f193 Added test to scribble over a database while it is being checkpointed. (Uses checkpoint callback mechanism to guarantee timing.)
git-svn-id: file:///svn/toku/tokudb@11316 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
de9f15e8fc Added test for checkpoint callback.
git-svn-id: file:///svn/toku/tokudb@11315 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
86f1706897 Added mechanism for using checkpoint callback, for testing only.
git-svn-id: file:///svn/toku/tokudb@11314 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
5cd246bed3 Fix Makefile for new tdb-only tests
git-svn-id: file:///svn/toku/tokudb@11312 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
ecbb6d4ce4 Addresses #1694 Moved some (reused) items from test_db_descriptor.c to test.h
Added first checkpoint test

git-svn-id: file:///svn/toku/tokudb@11311 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
72469007bf Fix typo in error message
git-svn-id: file:///svn/toku/tokudb@11310 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Rich Prohaska
f7ed22c3a8 another root fifo test
git-svn-id: file:///svn/toku/tokudb@11308 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Rich Prohaska
07b019abae a root fifo test
git-svn-id: file:///svn/toku/tokudb@11307 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
115a711093 Closes #1681, Closes #1682 two-header choosing logic is more robust
version now comes before 'size' in header
Some cleanup/defined new error codes instead of '-1'

git-svn-id: file:///svn/toku/tokudb@11304 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
c2d7fd1f8a Fixes #1686 Added ydb-level functions to get/set interval for automatic recurring checkpointing.
git-svn-id: file:///svn/toku/tokudb@11298 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
79a2393ae5 Addresses #1510 Added callback to toku_checkpoint(), primarily intended for use in testing.
git-svn-id: file:///svn/toku/tokudb@11286 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Barry Perlman
fba0209490 Fixes #1683 Created separate toku_cachetable_minicron_shutdown() to be called when no locks are held. Note, toku_cachetable_close() still calls minicron_shutdown() if it was not already shut down to avoid rewriting tests.
git-svn-id: file:///svn/toku/tokudb@11285 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Yoni Fogel
e7c60ec3ed Addresses #1683 Minor cleanup.
git-svn-id: file:///svn/toku/tokudb@11281 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:49 -04:00
Bradley C. Kuszmaul
d6ab1513e8 Merge the tokudb.1665 branch into the main line. Fixes #1665.
{{{
svn merge -r 11185:11261 https://svn.tokutek.com/tokudb/toku/tokudb.1665
}}}


git-svn-id: file:///svn/toku/tokudb@11264 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
1c2996546d Merge in [11215], Refs #1672. Consolidate tdiff. Fixes #1673.
git-svn-id: file:///svn/toku/tokudb@11217 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
Bradley C. Kuszmaul
cea65a513e Refs #1667.
git-svn-id: file:///svn/toku/tokudb@11194 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00
Bradley C. Kuszmaul
9dfcbca603 Refs #1667.
git-svn-id: file:///svn/toku/tokudb@11193 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:48 -04:00