summaryrefslogtreecommitdiff
path: root/src/lsm
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused local variable.Alex Gorrod2012-11-271-1/+0
|
* Fix lint.Alex Gorrod2012-11-271-1/+3
|
* Merge branch 'develop' into rawKeith Bostic2012-11-231-22/+21
|\ | | | | | | | | Conflicts: src/lsm/lsm_worker.c
| * Update LSM worker to have cleaner error handling.Alex Gorrod2012-11-231-22/+19
| |
* | Merge branch 'develop' into rawKeith Bostic2012-11-221-6/+40
|\ \ | |/ | | | | | | Conflicts: src/docs/upgrading.dox
| * Don't try to merge with a chunk that is much larger than a small chunk.Michael Cahill2012-11-211-3/+12
| |
| * After an LSM merge, fault in some pages before the new tree goes live to ↵Michael Cahill2012-11-211-3/+28
| | | | | | | | avoid stalling application threads.
* | __wt_err() returns a void, no reason to cast it.Keith Bostic2012-11-221-6/+4
|/
* Add a "size of checkpoint" statistic.Michael Cahill2012-11-163-40/+36
| | | | | Merge statistics from file and LSM sources into a "data source" statistic structure. Rename and regroup some shared stastistics. Make statistics constant names upper case. Add a helper to the Python API to lookup in a cursor in a simple expression. closes #232
* Don't automatically fail inserts if the write generation check fails: ↵Michael Cahill2012-11-161-2/+2
| | | | compare keys instead.
* Add a session flag to disable cache checks in critical sections.Michael Cahill2012-11-161-1/+3
|
* Switch the LSM tree lock to a read/write lock, so cursors can read the state ↵Michael Cahill2012-11-165-30/+29
| | | | of the tree in parallel.
* Use a separate thread for creation of Bloom filters for the newest, unmerged ↵Michael Cahill2012-11-093-47/+125
| | | | LSM chunks.
* Write the metadata after creating missing Bloom filters.Michael Cahill2012-11-091-24/+39
|
* Drop any old Bloom filter before creating a new one -- we may have been ↵Michael Cahill2012-11-092-1/+9
| | | | interrupted in between creating it and updating the metadata.
* Report errors from the LSM checkpoint thread.Michael Cahill2012-11-061-5/+11
|
* For update-only LSM cursors, only open a cursor in the primary chunk.Michael Cahill2012-11-061-9/+17
|
* Only switch trees in an LSM cursor if the primary chunk is on disk.Michael Cahill2012-11-021-2/+3
|
* LSM: clear the "merging" flag on chunks that are not included in a merge.Michael Cahill2012-11-021-1/+3
|
* Cache the hash values used for Bloom filter lookups, rather than hashing for ↵Michael Cahill2012-11-011-2/+11
| | | | each Bloom filter in an LSM tree.
* Support multiple LSM merge threads with the "lsm_merge_threads" config key. ↵Michael Cahill2012-11-015-122/+222
| | | | Use IDs rather than array index to mark the start chunk in a merge, in case we race with another thread.
* Include all of the chosen chunks in a merge. Only pin the current chunk in ↵Michael Cahill2012-11-012-6/+7
| | | | an LSM cursor if it is writeable.
* Minor cleanup in the loop to drop old chunks from an LSM tree.Michael Cahill2012-11-011-19/+18
|
* LSM: only track cursors on the primary chunk if it is not yet on disk.Michael Cahill2012-11-011-5/+2
|
* Create missing Bloom filters when reading from an LSM tree if ↵Michael Cahill2012-11-011-11/+15
| | | | "lsm_bloom_newest"is set.
* LSM: only save a Bloom URI in the metadata after it is successfully created.Michael Cahill2012-11-011-1/+1
|
* WT_ATOMIC_ADD/WT_ATOMIC_SUB return values.Keith Bostic2012-10-261-2/+2
|
* Add a reference count to LSM trees to prevent a race between a drop and ↵Michael Cahill2012-10-262-14/+44
| | | | opening a cursor (if the drop happened in between a thread getting the tree and opening the first chunk).
* Protect the list of LSM trees with the schema lock.Michael Cahill2012-10-262-5/+6
|
* Pass a "normal" config stack wherever possible.Michael Cahill2012-10-251-2/+2
|
* Hold the LSM tree lock while gathering statistics.Michael Cahill2012-10-251-8/+6
| | | | It shouldn't take too long (there's no I/O), and all we're blocking is switching to a new tree.
* Don't attempt to drop the first chunk of an LSM tree before creating it. It ↵Michael Cahill2012-10-251-3/+9
| | | | can't have come from an interrupted merge, and doing a drop in the middle of a create leaves the file handle locked.
* Handle passing a struct value to "bloom_config".Michael Cahill2012-10-241-0/+4
|
* lsm_cursor.c:716:3: error: 'smaller' may be used uninitialized in this functionMichael Cahill2012-10-191-2/+4
| | | | lsm_cursor.c:718:3: error: 'larger' may be used uninitialized in this function
* Reset any old cursor position before an LSM search.Michael Cahill2012-10-191-3/+40
| | | | Long term, we need a more general approach to cleaning up the old LSM cursor state, but this change is important in that it keeps the number of active hazard references in a searching thread less than or equal to 1.
* Add an API to pass a config string to __wt_bloom_create.Michael Cahill2012-10-194-5/+17
|
* Fix LSM index searches.Michael Cahill2012-10-191-8/+35
| | | | | | | | | | The main issue was LSM search_near was not always returning the closest key to the search key, which calling code expects. It now tries hard to find the smallest cursor larger than the search key, and only if no larger record exists does it return the largest record smaller than the search key. While in the area, clean up the index search code and make it slightly more efficient.
* Push the "owning" cursor through the LSM open_cursor function, so schema ↵Michael Cahill2012-10-192-4/+5
| | | | objects are closed in the correct order.
* Run some standard tests against table-on-LSM.Michael Cahill2012-10-181-1/+1
|
* Handle NULL config stacks in LSM cursor open.Michael Cahill2012-10-181-1/+1
|
* Change direct calls to __wt_curfile_open to generic __wt_open_cursor.Michael Cahill2012-10-183-13/+9
|
* Fix a bug in LSM where aborted merges could cause subsequent opens to fail.Alex Gorrod2012-10-182-2/+17
| | | | | Also fix a bug in LSM stats - where we returned an error for empty chunks that do not have a checkpoint.
* Have LSM merges sleep for much less than a second: this limits how quickly ↵Michael Cahill2012-10-181-3/+3
| | | | we can cycle through operations in test/fops.
* Wait for a while before looking for LSM major merges, in case merges catch ↵Michael Cahill2012-10-182-16/+33
| | | | up with inserts.
* Fix some leaks found by valgrind.Michael Cahill2012-10-171-3/+10
|
* Update LSM merge operations to be interrupted on close.Alex Gorrod2012-10-171-2/+19
| | | | Fix a memory leak in an error path in bloom.
* Update bloom statistics naming to be clearer.Alex Gorrod2012-10-151-4/+8
| | | | | Add a new LSM statistic tracking searches that could benefit from bloom filters.
* At the file level, count successful and failed eviction attempts separately.Michael Cahill2012-10-151-51/+51
|
* lsm_merge.c:73:14: error: variable 'dest_uri' set but not usedMichael Cahill2012-10-151-2/+0
|
* Add advanced tuning options for LSM bloom filters.Alex Gorrod2012-10-156-46/+143
|