| Age | Commit message (Collapse) | Author |
|
with that flag, and which are not holding the schema or lsm-tree locks,
are used by the to make block-manager fsync calls based on os_cache_dirty
configurations.
Sessions that take the flag: application checkpoint, checkpoint server,
eviction workers (and eviction primary if there are no eviction workers)
and handle sweep server.
Reference #1152.
|
|
not eviction's.
Eviction doesn't look at files that aren't open (WT_DHANDLE_OPEN not
set), which I believe means WT_BTREE.root.page should never be NULL.
Further, eviction shouldn't know anything about bulk-load, remove the
bulk-load test, we'll use the WT_BTREE_NO_EVICTION instead.
Change the btree open function to set WT_BTREE_NO_EVICTION on an empty
object, at the same time we set the "bulk load is possible" flag. As
soon as a row is inserted in the object, the bulk-load flag is turned
off, change the object's eviction status at the same time.
Change the cache-full check to skip checking the bulk-load flag, all
that needs checking is the eviction flag.
Minor paranoia change: don't let eviction be configured on the metadata
file.
|
|
Otherwise application threads will wait to be notified by the server
between each page eviction. This improves read throughput by ~5% in #1068
|
|
|
|
work. I don't see a performance improvement, but doing extra work and
reading global transactional information isn't making read-only loads
faster.
|
|
Move lang/java and lang/python into the public domain.
|
|
an LSM tree: increment the session's cursor count at the beginnging of an LSM search and decrement at the end. This also means we can get rid of the special purpose "cache busy" flag.
|
|
help in automated tests.
|
|
target: some threads may get stuck doing eviction while other threads keep reading pages. Also spin a few times before waiting on a condition variable: the latter is slow.
|
|
consistent about the eviction target: when on an API boundary, wait until there is 5% cache available.
|
|
hazard pointers.
|
|
|
|
refs #754
|
|
|
|
when we aren't keeping the oldest ID pinned.
refs #754
|
|
We could use `__lsm_copy_chunks` instead if this change causes measurable contention.
refs #748
|
|
|
|
|
|
|
|
Application threads should only do eviction when the cache is full(!).
Don't rely on reading the number of candidates before getting the lock.
Set "disk_snap_txn" even if eviction fails, don't retry until the oldest ID has moved forwards.
|
|
Inline __wt_cache_bytes_dirty() and __wt_cache_pages_dirty(), there's no
policy of not directly accessing WT_CACHE fields, and that's all they do.
Remove comments about 8B vs. 4B atomic read/write and "special" code in
__wt_cache_pages_inuse() and __wt_cache_bytes_inuse(), WiredTiger
requires 8B atomic read/write, the comments no longer make any sense.
|
|
clang-analyzer.
|
|
|
|
|
|
only sort the maximum number of entries we have actually seen.
|
|
candidates.
Application eviction used to poll, but it's hard to get the polling
interval right for all cases.
|
|
|
|
|
|
Conflicts:
src/btree/bt_evict.c
src/btree/bt_handle.c
src/btree/bt_page.c
src/btree/rec_evict.c
src/conn/conn_dhandle.c
src/cursor/cur_stat.c
src/include/btree.h
src/include/btree.i
src/include/stat.h
src/lsm/lsm_cursor.c
src/schema/schema_create.c
src/txn/txn_ckpt.c
|
|
Conflicts:
dist/filelist
src/block/block_mgr.c
src/btree/bt_cell.c
src/btree/bt_curnext.c
src/btree/bt_curprev.c
src/btree/bt_debug.c
src/btree/bt_evict.c
src/btree/bt_handle.c
src/btree/bt_slvg.c
src/btree/bt_stat.c
src/btree/bt_vrfy.c
src/btree/bt_vrfy_dsk.c
src/btree/rec_write.c
src/btree/row_srch.c
src/conn/conn_dhandle.c
src/cursor/cur_file.c
src/cursor/cur_index.c
src/cursor/cur_stat.c
src/include/api.h
src/include/btree.h
src/include/btree.i
src/include/cache.i
src/include/extern.h
src/include/serial.i
src/include/stat.h
src/include/wt_internal.h
src/lsm/lsm_cursor.c
src/lsm/lsm_worker.c
src/meta/meta_track.c
src/schema/schema_drop.c
src/schema/schema_plan.c
src/schema/schema_truncate.c
src/session/session_api.c
src/session/session_dhandle.c
src/txn/txn_ckpt.c
|
|
|
|
|
|
only a pair of hazard pointers at most (a parent/child pair), rather than
the full stack of hazard pointers (one per level of the tree).
|
|
Conflicts:
src/btree/bt_evict.c
|
|
Add calls to functions where needed.
|
|
|
|
|
|
instead of aborting.
|
|
refs #242
|
|
|
|
|
|
compare keys instead.
|
|
|
|
periodically regardless of whether the application signals it. This latter requires a "timed condition wait" operation.
|
|
periodically.
|
|
no eviction.
|
|
the same check for all flavors of transactional update.
|
|
holding hazard references.
|
|
Conflicts:
src/btree/bt_handle.c
src/conn/conn_dhandle.c
src/cursor/cur_file.c
src/include/btree.h
src/include/cache.i
src/include/extern.h
src/lsm/lsm_worker.c
src/session/session_dhandle.c
src/support/hazard.c
|
|
|