| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(cherry picked from commit 8b05389ae90d593bc2376c8c7f0fa72830ce5fbf)
|
|\ |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | | |
than 20MB cache (#3132)
|
| | |
| | |
| | |
| | |
| | |
| | | |
We were clearing the shared pointer to the list of filenames in the
backup, then releasing the hotbackup lock before clearing the hotbackup
flag. That means drops need to check both the flag and that the pointer
is non-NULL.
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* WT-2964 Alter evict walk to not fill all its slots with internal pages when running in aggressive mode
* Test removal of the bump of aggressive by 10
* Change how likely we are to give up, based on if we are looking for dirty or clean pages.
Add a stat to track these "dirty give ups"
* Lint
* Remove statistic.
* Simplify decision about when to give up walking for eviction.
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
running in aggressive mode (#3112)
|
| | | |
| | | |
| | | | |
Replace uses of "wtext" and "wtapi" with "wt_api".
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* SERVER-26753 Don't spin on a read-lock in a tight loop.
We could be starving a thread that we are waiting on of CPU.
* Switch to yielding on rwlocks rather than sleeping.
* Revert the attempt to be clever when spinning on rwlocks.
* Spin getting a read lock while it is available to readers.
|
| | | |
| | | |
| | | |
| | | | |
joins. (#3117)
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* WT-2968 Reduce number of files.
* Free backup file names.
* Don't need to clear the pointer.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* WT-2968 Don't open file handles on backup.
* whitespace, KNF
* Add timing to test and populate with thousands of tables.
* Remove macro and meta function. Add schema backup check function.
* Refactor new function per review.
* Remove cursor backup entry data structure. Simplify test a bit.
* Schema ops walk file list in memory instead of on-disk file.
* Set connection list entry to NULL before freeing memory.
* Remove call to backup_stop on error. Errors are handled above.
* Add comment
* Fix test description.
* Fix new test to use new DataSet code.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
* Add a write barrier in front of __wt_cond_signal() to ensure the caller's flags meant to cause a thread to exit are seen by the thread.
* Make the LSM start/stop worker thread loops look the same.
|
| | | |
| | | |
| | | |
| | | | |
filter. (#3099)
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| |\ \ \
| | |/ / |
|
| | | |
| | | |
| | | | |
It broke backward compatibility.
|
| | | |
| | | |
| | | | |
Eviction tuning to help improve the workload
|
| | | |
| | | |
| | | |
| | | | |
(#3103)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
data size (#3102)
Correct the rolling checkpoint size for the current checkpoint's root
page size, it shouldn't be included because it's an allocation that's
not part of the next checkpoint.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Fix a bug found by inspection in LZ4 code: we're going to offset the destination buffer by sizeof(LZ4_PREFIX), so we need to offset the destination buffer length by the same amount.
* Prettiness pass through the snappy driver so it and the zstd driver look the same, minor cleanup in zlib.
* Add the compression_level configuration option to the zstd extension initialization function so it's possible to set the compression level from an application.
* Fix a bug in zlib raw compression: the destination buffer size (dst_len), can be smaller than the target page size (page_max), use the smaller of the two values to set the target compression size.
* The zlib raw compression function could return without calling deflateEnd on its z_stream structures, potentially leaking memory and scratch buffers.
* If the default reserved bytes for zlib raw compression isn't sufficient, we fail on compression of what might be very large blocks. We don't have information on how many bytes need to be reserved in order to know the final deflate() will succeed, and the default value was experimentally derived, for all we know there are workloads where the default will fail
a lot. Add a fallback before failing hard, try with 2x the default reserved space.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Checkpoint must not skip writing a leaf page that's never been written before.
* Split out the code to make a tree dirty: checkpoint needs it, and it's relatively expensive to dirty a page.
|
| | | |
| | | |
| | | |
| | | | |
writing (#3096)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
__evict_stat_walk(), __wt_curstat_cache_walk(), query_docs() don't
return error values, switch to void declarations.
__evict_stat_walk() unused variable, bytes_inmem.
WT_CURSOR.{get_key,get_value} and pthread_join can all return errors,
assert they don't fail.
KNF, whitespace
Update spelling list.
Add a new test utility macro, testutil_assertfmt(), so it's possible
to assert with more expansive error messages.
|
| | | |
| | | |
| | | | |
Exposed via a new 'cache_walk' statistics configuration option.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
high level locks (#3086)
* WT-2955 Add statistics tracking the amount of time threads spend waiting for high level locks
Sort the statistics categories so it's easier to find stuff, no real change.
* Add counters and usec wait times to long-term locks (currently the
checkpoint, handle-list, metadata, schema and table locks).
* mutex.i:295:26: error: conversion to int64_t {aka long int} from long
unsigned int may change the sign of the result [-Werror=sign-conversion]
[t->slot_usecs] += WT_TIMEDIFF_US(leave, enter);
* Rename the lock statistics so they group together.
Split lock wait times between internal and application threads.
* Separate the connection's dummy session initialization out into its own
function, that way it's clear what we're doing.
* The session's connection statistics are fixed when the session ID is
allocated, so we can cache a pointer to them and avoid u_int divisions
(which are currently about the slowest thing you can do on a modern
architecture).
* A slightly different change: instead of caching a reference to the
connection statistics, cache the offset into the array of statistics
pointers, that way we can avoid the integer division when updating
almost all statistics.
* Review comments:
Add comments describing the use of statistics array offsets in lock
tracking.
Rename WT_STATS_FIELD_TO_SLOT to WT_STATS_FIELD_TO_OFFSET.
Whitespace cleanup.
* __wt_cache_create() doesn't need to call __wt_cache_destroy() explicitly,
if the connection open fails at any point, __wt_cache_destroy() will be
called as part of that cleanup.
* Append the suffix "_off" to the spinlock structure statistics field
names, clarify they're offsets into the statistics structures.
|
| | | | |
|