| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
|
| | | | |
|
| | | | |
|
|/ / / |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
use-after-free.
|
| |\ \ \
| |/ / /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
SERVER-21691 Avoid insert stalls
|
| | | | |
| | | | |
| | | | |
| | | | | |
This check was moved out of __wt_page_can_evict, which meant it only applied to LRU eviction. Move it back so that we don't repeatedly try forced eviction that has no chance of succeeding.
|
|/ / / /
| | | |
| | | |
| | | | |
Only trylock the page's reconciliation lock (so in-memory splits aren't blocked by slow splits of siblings), don't give up as soon as a checkpoint starts.
|
| | | | |
|
|/ / /
| | |
| | |
| | | |
There was a lot of repeated code to check for offpage and free ref->addr, create an inlined function.
|
|\ \ \
| |_|/
|/| | |
WT-2249 Keep eviction stuck until cache usage is under 100%.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix a real bug: STUCK is a cache flag, not a cache->state flag.
Don't try to do eviction when dumping the cache, and only kill processes if no
pages have been evicted since the STUCK flag was first set.
|
|\ \ \
| | | |
| | | | |
WT-2250 Minor fix. Use SET instead of INCRV for stat.
|
|/ / / |
|
|/ /
| |
| |
| | |
fixed-length column stores.
|
|\ \
| | |
| | | |
WT-2244 - Trigger in-memory splits sooner.
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
WT-2248: WT_SESSION.close is updating WT_CONNECTION_IMPL.default_session
|
|/ / /
| | |
| | |
| | |
| | | |
default session, but that means the API_END_RET_NOTFOUND_MAP session cleanup
happens in the context of the default session, which isn't correct.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
internal pages a lot more these days. (It's really row-store leaf
page, but that's a bug we'll eventualy fix.)
|
| |\ \
| |/ /
|/| | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that we split before pages become completely full, and we can block splits
outright with a flag, don't use transaction visibilty to block subsequent
splits. This had the effect of limiting each page to a single split during
long-running transactions including checkpoints.
|
| | |
| | |
| | |
| | |
| | |
| | | |
In particular, take the checkpoint genertion into account when tracking the
oldest ID in eviction, so that we retry eviction as soon as a checkpoint moves
forward.
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
SERVER-21553 Enable fast-path truncate after splits.
|
| | | | |
|
| | | | |
|
| |\ \ \
| |/ / /
|/| | | |
|
|\ \ \ \
| |_|_|/
|/| | | |
WT-2243 Don't keep transaction IDs pinned for reading from checkpoints.
|
| | | |
| | | |
| | | |
| | | | |
Previously, we were clearing the new "no transaction" flag every time a cursor was repositioned.
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A truncate operation attempts to mark leaf pages deleted without reading them
into cache. One of the conditions that has to be met for that fast-path
truncate of pages is that the leaf page not contain overflow items (or we would
need to read it in order to delete the overflow items).
The "no overflow" flag was not being preseved across internal page splits, so
recent changes to splits were defeating fast-path truncation.
Add tracking of the "no overflow" flag for in-memory page addresses so
fast-path truncates work after internal pages are split.
|
| | |
| | |
| | |
| | |
| | | |
ext/extractors/csv/csv_extractor.c:155:25: error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32]
src/cursor/cur_join.c:1022:16: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'u_int' (aka 'unsigned int') [-Werror,-Wshorten-64-to-32]
|
|\ \ \
| | | |
| | | | |
WT-2230: multi-split error path
|
| | | |
| | | |
| | | |
| | | | |
use ref->home.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ref->page as its page argument, which is used by wt_free_ref to
check the page type and then free row-store keys instantiated in
the WT_REF. That's an error, and we'd drop core because ref->page
is freed by wt_free_ref before the page type is checked.
Instead, pass in a page type to resolve questions about WT_REF.key,
and use WT_REF.home to resolve questions about WT_REF.addr.
|
|\ \ \ \
| |_|/ /
|/| | | |
WT-2228: avoid unnecessary raw-compression calls.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(for example, if the engine is configured with zlib), even when the data
chunk is smaller than the allocation size and compression is known to
be a waste of time. When the allocation size is a significant percentage
of the maximum block size, this can be half or more of the calls to raw
compression.
|
| |_|/
|/| |
| | |
| | | |
Specifically, do an in-memory split when we hit 80% of memory_page_max.
|
|\ \ \
| | | |
| | | | |
SERVER-21619 Don't do internal page splits after a tree is marked DEAD.
|
| | | | |
|