summaryrefslogtreecommitdiff
path: root/src/lsm
Commit message (Collapse)AuthorAgeFilesLines
* Revert "For now, just rename the WiredTiger function __wt_cursor_equals...",Don Anderson2015-01-221-1/+1
| | | | | | since we've resolved the underlying problem. This reverts commit 010059e721d1c6bd4d81214ab80402866de41345.
* For now, just rename the WiredTiger function __wt_cursor_equals to beKeith Bostic2015-01-171-1/+1
| | | | | __wt_cursor_equal. We'll do a better fix to avoid the problem in the future, when we have a few minutes.
* Merge branch 'develop' into cursor-equalMichael Cahill2015-01-171-2/+1
|\ | | | | | | | | | | | | Conflicts: src/cursor/cur_std.c src/cursor/cur_table.c src/include/extern.h
| * Merge branch 'develop' into cursor-reconfigureKeith Bostic2015-01-161-2/+0
| |\
| * \ Merge branch 'develop' into cursor-reconfigureMichael Cahill2015-01-148-11/+16
| |\ \
| * \ \ Merge branch 'develop' into cursor-reconfigureKeith Bostic2014-12-223-7/+23
| |\ \ \
| * \ \ \ Merge branch 'develop' into cursor-reconfigureKeith Bostic2014-12-155-21/+22
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/cursor/cur_metadata.c
| * | | | | Add support for a WT_CURSOR.reconfigure method, reference #1381.Keith Bostic2014-12-111-2/+1
| | | | | |
* | | | | | Merge branch 'develop' into cursor-equalMichael Cahill2015-01-171-2/+0
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | | | | | | | Conflicts: lang/python/wiredtiger.i
| * | | | | Defer the cache full check from begin_transaction until the first operation ↵Michael Cahill2015-01-141-2/+0
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | that requires an ID or snapshot. refs SERVER-16790
* | | | | Rename WT_CURSOR compare_equal to be equals.Alex Gorrod2015-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While here, add a generic cursor equals stub in curstd, rather than redirecting via cursor function pointer lists. Implement the Java API wrapper.
* | | | | Add support for the WT_CURSOR.compare_equal method.Keith Bostic2015-01-101-0/+1
|/ / / /
* | | | Simplify error path in clsm_close. Refs #1527.Alex Gorrod2015-01-071-4/+1
| | | |
* | | | Cache a maximum of 2MB per session for scratch buffers (configurable via an ↵Michael Cahill2015-01-054-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | undocumented "session_scratch_max" config). SERVER-16623
* | | | Copyright notices: add MongoDB, update to 2015.Keith Bostic2015-01-048-0/+8
| |_|/ |/| |
* | | Remove the SET/CLEAR_BTREE_IN_SESSION macros: now we have WT_WITH_DHANDLE, ↵Michael Cahill2014-12-191-2/+4
| | | | | | | | | | | | they don't make much sense.
* | | Don't set the LSM tree collator to "none" if that's what was specified.Keith Bostic2014-12-161-1/+1
| | |
* | | Merge pull request #1465 from wiredtiger/lsm-cleanupsueloverso2014-12-151-4/+18
|\ \ \ | |_|/ |/| | Minor cleanup. #1447
| * | whitespaceMichael Cahill2014-12-121-1/+0
| | |
| * | Fix copy-paste error.Alex Gorrod2014-12-121-3/+3
| | |
| * | Have LSM worker reconfigure work with min workers.Alex Gorrod2014-12-121-7/+21
| | | | | | | | | | | | References #1460.
| * | Minor cleanup. #1447Susan LoVerso2014-12-111-7/+8
| |/
* | Most WiredTiger calloc calls are to allocate a single structure,Keith Bostic2014-12-155-10/+10
| | | | | | | | | | create the macro __wt_calloc_one that doesn't take a count or a sizeof.
* | Preserve LSM values prefixed with tombstones across merges.Michael Cahill2014-12-121-7/+9
| | | | | | | | This has been causing failures in jstests/noPassthroughWithMongod/btreedel.js.
* | src/lsm/lsm_cursor.c:1203:12: warning: variable 'cmp' may be uninitialized ↵Michael Cahill2014-12-121-4/+3
|/ | | | when used here [-Wconditional-uninitialized]
* If LSM search_near finds a matching tombstone, step the whole LSM cursor ↵Michael Cahill2014-12-111-89/+57
| | | | | | next to find the closest key. We can't step individual chunk cursors, or we could return a record that is deleted in a more recent chunk. MongoDB BF-694, BF-700
* Implement @agorrod's review feedback.Michael Cahill2014-12-101-17/+18
|
* Deal with the case where there is no chunk in an LSM tree to flush.Michael Cahill2014-12-101-4/+7
|
* Clarify the use of randomness in chunk selection for flushes.Michael Cahill2014-12-091-35/+34
|
* Make sure that the LSM tree is set up to trigger a switch before looping in ↵Michael Cahill2014-12-091-8/+10
| | | | __clsm_enter_update.
* Take more care to only set NEED_SWITCH once when a chunk becomes full.Michael Cahill2014-12-091-3/+5
|
* Don't try to find a chunk to flush in empty LSM trees.Michael Cahill2014-12-091-1/+2
|
* Improve and simplify the LSM switch logic: it is fine to keep writing into a ↵Michael Cahill2014-12-092-46/+60
| | | | | | chunk while it is being switched, until either it hits the hard chunk size limit or a switch transaction ID is chosen that is larger than the writer's. Fixes an assertion failure introduced by #1432 that could write to an old chunk after the switch completed. refs #1432, #1418
* Fix new test for LSM workers max.Alex Gorrod2014-12-081-1/+1
|
* Tidy up previous change. Remove dead code.Alex Gorrod2014-12-081-22/+1
|
* If there are only two LSM worker threads, don't let the cache get full.Alex Gorrod2014-12-081-27/+37
| | | | | | | | Allow the first thread to do flushes as well as switches and drops if there are only two threads. Refs #1441, but this is a hang seen from that test/format configuration, not a segfault.
* Merge branch 'develop' into none-configAlex Gorrod2014-12-082-1/+3
|\ | | | | | | | | Conflicts: dist/api_data.py
| * Use the new WT_LSM_TREE_SWITCH_INPROGRESS flag to push work unitsSusan LoVerso2014-12-032-1/+3
| | | | | | | | instead of using the switch_txn setting as that is now set much later.
* | Check for configurations of "none" in a wrapper around the config string ↵Michael Cahill2014-12-081-1/+2
|/ | | | parser. There is some code that looks for explicit "none" strings (such as statistics configuration), and overriding "none" in all cases scares me.
* Merge pull request #1416 from wiredtiger/lsm-ckpt-fixesAlex Gorrod2014-11-281-8/+9
|\ | | | | LSM checkpoint fixes
| * Close a window switching LSM chunks where a newer transaction could modify a ↵Michael Cahill2014-11-281-8/+9
| | | | | | | | chunk before the switch.
* | The LSM manager thread needs the handle list to walk the list of LSM trees.Michael Cahill2014-11-261-13/+25
|/
* Ignore returns from WT_ATOMIC_SUB4().Keith Bostic2014-11-251-2/+2
|
* Fixup LSM workers, so evicting old chunks doesn't stop checkpoints.Alex Gorrod2014-11-251-13/+30
| | | | | | This change has two fixes: * Ensure there are enough work units on the queue for checkpoints. * Don't leave chunk reference counts out of wack.
* Fix build warnings with diagnostic turned off.Alex Gorrod2014-11-241-0/+2
|
* whitespaceKeith Bostic2014-11-221-2/+1
|
* No chunks exist before an item is inserted into the tree. Initialize theKeith Bostic2014-11-221-9/+5
| | | | | | data source statistics and then aggregate into those values in all cases, instead of assigning the first chunk's statistics into the data source statistics.
* Revert to not holding the handle list lock when discarding LSM chunks: that ↵Michael Cahill2014-11-221-10/+2
| | | | | | does a lot of work inside a lock that blocks common operations. refs #1391
* Fix a race between creating and opening an LSM tree that gave an off-by-one ↵Michael Cahill2014-11-221-59/+72
| | | | reference count.
* Wait for the handle list lock when discarding in-memory chunks from an LSM ↵Michael Cahill2014-11-221-2/+10
| | | | | | tree. This avoids a trylock that has to fight with eviction walks, so we will discard chunks more consistently. refs #1391