Commit graph

42 commits

Author SHA1 Message Date
Barry Perlman
f1137e7a66 Addresses #1792 refs[t:1792] Added range lock info to show engine status
git-svn-id: file:///svn/toku/tokudb@14745 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:58:03 -04:00
Rich Prohaska
d9c508faf1 merge 1032 into 1032b. addresses #1032
git-svn-id: file:///svn/toku/tokudb.1032b@7804 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:27 -04:00
Rich Prohaska
8a9c0f01f3 icc make lock_tree with -Werror. addresses #1185
git-svn-id: file:///svn/tokudb.1131b+1080a+1185@6406 c7de825b-a66e-492c-adef-691d508d4ae1
2013-04-16 23:57:20 -04:00
Yoni Fogel
df7304b264 Closes #908
Implements DB->pre_acquire_table_lock
Also optimized lock tree for table write locks

git-svn-id: file:///svn/tokudb@4480 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-11 20:09:47 +00:00
Yoni Fogel
2ef26e0057 Converted all dos files to unix format (endlines only changed)
git-svn-id: file:///svn/tokudb@4327 c7de825b-a66e-492c-adef-691d508d4ae1
2008-06-02 21:28:03 +00:00
Bradley C. Kuszmaul
83d416fa09 Merge the 558 branch back to the main with
{{{
svn merge -r3061:3225 https://svn.tokutek.com/tokudb/tokudb.558
}}}

Fixes #630.
Addresses #558.


git-svn-id: file:///svn/tokudb@3226 c7de825b-a66e-492c-adef-691d508d4ae1
2008-04-02 23:40:36 +00:00
Yoni Fogel
1954d2ca8f Closes #567
Merge all of ticket 567 into trunk

git-svn-id: file:///svn/tokudb@3134 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-27 16:26:15 +00:00
Yoni Fogel
0880a59279 Addresses #557
Addresses #554
When lock trees close before transactions do (that touch them), we can crash
or have memory corruption.

Now, when lock trees close, they alert all transactions that they have disappeared.

git-svn-id: file:///svn/tokudb@2974 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-20 15:14:46 +00:00
Yoni Fogel
58515a507b Closes 551
'Lock tree manager' object created to hold data shared by all lock trees
i.e. Current number of locks (per env) and max locks (per env)
Uses functions to change max_locks.
Added tests for lock tree manager.


git-svn-id: file:///svn/tokudb@2948 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-19 17:07:22 +00:00
Yoni Fogel
7cb30a607e closes #523
always have lock escalation to be turned on

git-svn-id: file:///svn/tokudb@2919 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-18 15:07:32 +00:00
Yoni Fogel
33715e6478 closes #549
git-svn-id: file:///svn/tokudb@2903 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 20:58:32 +00:00
Yoni Fogel
18a7b8dfe0 addresses #523
implemented lock escalation MINUS flagging of messy transactions
implemented tests for lock escalation

git-svn-id: file:///svn/tokudb@2902 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-17 20:39:01 +00:00
Yoni Fogel
4f9b5633d0 addresses #523
create (but not yet implement) functions for lock escalation

git-svn-id: file:///svn/tokudb@2836 c7de825b-a66e-492c-adef-691d508d4ae1
2008-03-14 20:37:04 +00:00
Vincenzo Liberatore
25d340f106 Addresses #311
Completes the documentation of locktree.

git-svn-id: file:///svn/tokudb@2282 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-13 14:53:41 +00:00
Vincenzo Liberatore
e1b999bec5 Addresses #311
Adds more documentation to locktree 

git-svn-id: file:///svn/tokudb@2270 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-12 21:45:55 +00:00
Yoni Fogel
c89743d016 Changed range trees to have static types instead of void*
git-svn-id: file:///svn/tokudb@2254 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-11 23:37:55 +00:00
Yoni Fogel
e8a6e94d10 Addresses #350
Bugfix with releasing locks/unlocking a transaction.

DBC->c_get (DB_SET)
and DB->put (DB_YESOVERWRITE) now perform locking
Secondary dbs not included (behavior unknown).

Several tests added for c_get (DB_SET) and DB->put(DB_YESOVERWRITE).

Lock tree only created if INIT_TXN is enabled during env creation.


git-svn-id: file:///svn/tokudb@2191 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-08 18:00:26 +00:00
Yoni Fogel
ce5b3e6465 Addresses #350
Integrated lock tree into the transactions.
    Allocated on create
    unlocked on abort/commit
    transaction keeps track of which lock trees it owns locks in
Started working on integrating c_get functions.
Modified locktree API to make it easier to use both dupsort and nondup dbs
Fixed tests to work with new locktree API.

git-svn-id: file:///svn/tokudb@2140 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 23:05:36 +00:00
Yoni Fogel
1e2aaf51c9 Addresses #346
Modified svn:ignore properties to ignore unneeded information.

git-svn-id: file:///svn/tokudb@2136 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 20:04:19 +00:00
Yoni Fogel
55191e5757 Addresses #307 Addresses #293
Modified makefiles to clean up install process
Added tests
Added hash table to store list of db's that a tx has access to.

git-svn-id: file:///svn/tokudb@2130 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 19:05:38 +00:00
Yoni Fogel
834cc7892b Addresses #293 Addresses #307
Addresses #337
Makefile modifications, test modifications,
Lock tree is better integraded with db.

git-svn-id: file:///svn/tokudb@2126 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-06 17:23:38 +00:00
Yoni Fogel
7a29120fdc Addresses #337
Addresses #293
Addresses #307
Adds range count to limit lock system memory from the dbenv, and correspondingly changes range trees and test files

git-svn-id: file:///svn/tokudb@2103 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-05 22:28:11 +00:00
Yoni Fogel
d1e31549d4 Addresses #307
Added test cases for the hashtable.
Now has 100% line and branch coverage of hashtable except for asserts.

git-svn-id: file:///svn/tokudb@2077 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-04 17:16:45 +00:00
Yoni Fogel
463245e8d8 Addresses #293
Addresses #329
Combined rangetree hashtables and the lock tree.

git-svn-id: file:///svn/tokudb@2044 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-02 01:12:44 +00:00
Yoni Fogel
2db8ca6af8 Addresses #293
Addresses #307
Replaced unsigned with u_int32_t
Also one bugfix with incorrect assert.
Made all tests run properly (bugs were mostly in the test).

git-svn-id: file:///svn/tokudb@2035 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-01 19:26:13 +00:00
Yoni Fogel
061afaac92 Addresses #293
Addresses #307
\marginpar{Code review/refactor pass}
Write locks should be done now.
Modified makefile

Tests updated to remove warnings.
Not all tests pass currently.


git-svn-id: file:///svn/tokudb@2031 c7de825b-a66e-492c-adef-691d508d4ae1
2008-02-01 18:24:15 +00:00
Yoni Fogel
f8f97b92fb Addresses #293
More implementation of write lock

git-svn-id: file:///svn/tokudb@2005 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-31 22:30:21 +00:00
Vincenzo Liberatore
50a9057eec #Addresses #311
Clean up the doxy comments.

git-svn-id: file:///svn/tokudb@1999 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-31 17:01:41 +00:00
Vincenzo Liberatore
9d2d9c77a1 #Addresses 311.
git-svn-id: file:///svn/tokudb@1997 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-31 16:47:56 +00:00
Vincenzo Liberatore
853085519c #Addresses 293
Write lock implementation.

git-svn-id: file:///svn/tokudb@1996 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-31 16:41:39 +00:00
Yoni Fogel
c7ef6951ca Addresses #293
- Lock tree takes parameter of a db panic function, defers to it in panic
  situations.
- Code reorganization due to code reviews
- DBT consistency is assumed (should be EINVAL at higher level)




git-svn-id: file:///svn/tokudb@1971 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-30 21:34:22 +00:00
Yoni Fogel
28ce4a3b4e Addresses #293
Addresses #307

Locktree now accepts max memory parameter.
This counts only 'toku_points' and payloads.
Whenever it goes over the allowed memory, it will return ENOMEM as
BDB does.

Tests were only updated to compile correctly (and return EINVAL
if max size is 0).
Tests do not yet test whether the max memory system works.

git-svn-id: file:///svn/tokudb@1954 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-30 03:09:50 +00:00
Vincenzo Liberatore
0219c8a6f2 Addresses #311
Start the documentation of lock trees, at this point, mostly for 
our own education and understanding

git-svn-id: file:///svn/tokudb@1912 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-26 20:52:10 +00:00
Yoni Fogel
d652150451 Addresses #293
Renamed some accessor functions and made them nonstatic
so that the test programs can access them.

Allocated the fake selfread/selfwrite trees in the
function that requests them (and creates if necessary) instead of
toku_lt_create

git-svn-id: file:///svn/tokudb@1895 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 22:42:17 +00:00
Yoni Fogel
b19081a24a Addresses #293
Added missing error checking code.
Rangewrite lock returns ENOSYS until/if ever it gets implemented.

git-svn-id: file:///svn/tokudb@1879 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 15:09:46 +00:00
Yoni Fogel
fbcf218f51 Addresses #293
Added checks for left > right,
and added additional needed EINVAL checks.

git-svn-id: file:///svn/tokudb@1864 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-25 02:27:11 +00:00
Yoni Fogel
d24d0e3d04 Addresses #293
git-svn-id: file:///svn/tokudb@1857 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 21:17:19 +00:00
Yoni Fogel
86fcd60f31 Addresses #293
Read lock appears to be finished for now.

git-svn-id: file:///svn/tokudb@1854 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 19:29:35 +00:00
Yoni Fogel
779e7f3fc4 Addresses #293
Checkpoint in lock tree implementation.
Write locks and point locks appear to be done,
bugs fixed in comparison function.

Need to do a bunch of worst case error handling still.

git-svn-id: file:///svn/tokudb@1830 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-24 01:00:40 +00:00
Yoni Fogel
0af793b40b Addresses #293
Checkpoint in implementation.
Vincenzo left for the night.

git-svn-id: file:///svn/tokudb@1829 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-23 22:17:40 +00:00
Yoni Fogel
09bbe6ddd6 Addresses #293
Checkpoint in lock tree implementation

git-svn-id: file:///svn/tokudb@1806 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 21:46:59 +00:00
Yoni Fogel
85f4664359 Addresses #292
Addresses #293

Checkpoint in header and implementation of lock tree.

git-svn-id: file:///svn/tokudb@1786 c7de825b-a66e-492c-adef-691d508d4ae1
2008-01-22 00:35:06 +00:00