| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fix a path that incorrectly returning success from log_write without writing a log record.
(cherry picked from commit 36d657ccc67ce0fb5dd1881458ffc8a748b8aa44)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Randomize visits to trees that use a tiny fraction of the cache.
Eviction optimizations.
Now that we are queuing more entries (potentially), make sure enough of
them become candidates. Previously, a skewed distribution of read
generations could mean that only 10% of queue entries were considered.
Improve the efficiency of sorting the queue by calculating the score
once when pages are added to the queue.
Take care to bound the maximum eviction slot.
|
|
|
|
|
|
|
| |
(cherry picked from commit 521270d54c41294da86a95690a54068cc23d4f1d)
When splitting the root page and updating the child's WT_REF.addr, reconciliation/eviction can race with us, updating WT_REF.addr after our read and before our update. The update is necessary because the child's
address points into the page being split: if the address changes, then it can no longer point into the page being split and the update is no longer necessary.
|
|
|
|
| |
(cherry picked from commit 1f4aaa4490a82cf947afdabbb9214ee5b1850d13)
|
|
|
|
|
|
| |
* Modify recovery test to use multiple threads to reproduce this issue.
(cherry picked from commit 0d4c83daf7174788d2a83321c33a215a9bdfa89f)
|
|
|
|
|
|
|
|
|
|
| |
Define system call success as a 0 return, and split error handling into two parts: if the call returns -1, use errno, otherwise expect the failing return to be an error value.
Replace calls to remove with unlink, so we know errno will be set. Do the best we can with rename, there's no easy workaround.
POSIX requires posix_madvise return an errno value, but some OS versions return a -1/errno pair instead (at least FreeBSD and OS X). I don't care about retrying posix_madvise calls on failure, but since WT_SYSCALL_RETRY includes the necessary error handling magic, wrap the posix_madvise calls in WT_SYSCALL_RETRY.
(cherry picked from commit ced588aecd604ab56670b8cdf66b8105e58f4fe3)
|
| |
|
|
|
|
|
| |
Add more options for callers when updating the oldest ID to control how much they care about the ID being updated.
(cherry picked from commit 116e41e5e1960db6855c4202a971107d5aff642d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the cache hits eviction triggers, all application threads can
hammer the eviction queue lock, starving each other and server threads.
Also, noticed with the same workload, the eviction server doesn't need
to force updates to the oldest ID (which can starve the eviction server
thread if there are hundreds of application threads getting snapshots).
It is sufficient to update it lazily.
* Clear the eviction walk if we don't find any candidates.
Otherwise, we are keeping a page pinned in what might be an idle file,
and tying up a hazard pointer that could prevent eviction from an active
file (since the eviction server tracks how many hazard pointers it is
using to avoid going over the limit).
(cherry picked from commit 7f9d7aecea0fade135e7c79cb3de9722b0287a79)
|
|
|
|
| |
(cherry picked from commit ac14731a59aebcd32775a5c0e06d37a8c666ee30)
|
|
|
|
|
|
| |
* Default checkpoint_wait is true. This change is useful because it means concurrent create/drop calls don't generate EBUSY returns.
* Mark lock_wait and checkpoint_wait as undoc
(cherry picked from commit 4b48ad6fb787a8b8662b5eacad6840d0b3ae9fb5)
|
|
|
|
| |
(cherry picked from commit 7deb9c213ba5c866d26dd381e20b632f991eedc9)
|
|
|
|
|
|
|
|
| |
* SERVER-24306 Fix stall in log_flush switching to new files.
* Pass boolean false rather than 0.
(cherry picked from commit b89aaece7b2a58d183a0a2b33e20157ad7f02258)
|
|
|
|
| |
(cherry picked from commit f6f86961a49894bb1b72c4c4d2cdca5c0d0ea9e4)
|
|
|
|
| |
(cherry picked from commit 0f7ae730d9ab28aaa51a938075502f639947d26f)
|
|
|
|
|
| |
WT-2560 Spin on transaction locks.
(cherry picked from commit f498d8c1c1d3fbbb6cb44c16fa85ab0de2a4aafc)
|
|
|
|
|
|
|
| |
WT-2560 Use a rwlock to protect transaction state, don't spin.
Conflicted on a whitespace cleanup.
(cherry picked from commit 76e286c7ba46c66d6b80a6cfbc9f302445595f42)
|
|
|
|
|
| |
WT-2559 Open a local log file handle for sync.
(cherry picked from commit 6b3553003f32b9255fddf56045643e7076d51868)
|
|
|
|
|
| |
WT-2566 Lock/unlock operations should imply memory barriers.
(cherry picked from commit 05cfbc26c2ab2099d7c98080a79ae67ea531c24f)
|
|\ |
|
| |\ |
|
| | |\
| | | |
| | | | |
SERVER-23588 Stop using _open_osfhandle on Windows.
|
| | |/
| | |
| | |
| | |
| | | |
It introduced some odd failures on debug MongoDB builds. Switch
to using fopen instead.
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |\
| | | |
| | | | |
WT-2534 Use atomic add when allocating transaction IDs.
|
| | |/ |
|
| |\ \
| | |/ |
|
| | |\
| | | |
| | | | |
WT-2533 Don't let in-memory tables return a zero size.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
| | |
| | |
| | |
| | | |
Returning a zero size breaks MongoDB replication. Return a non-zero
size for now until SERVER-23526 is resolved.
|
| | |\
| | | |
| | | | |
WT-2531: in-memory tables are wasting space in truncation
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Don't truncate the file when running in-memory, it will allocate relatively
large chunks of buffer memory in the underlying OS layer that we'll never use.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The in-memory truncate call wasn't extending the file (by setting the
size of the WT_ITEM after truncation extended it).
|
| | |\ \
| | | | |
| | | | | |
SERVER-23504: Coverity analysis defect 98177: Resource leak
|
| | | |/
| | | |
| | | |
| | | | |
Don't leak the variable value if the call to __wt_fprintf fails.
|
| | |\ \
| | | |/
| | |/| |
WT-2532: WT_STREAM_APPEND and WT_STREAM_LINE_BUFFER flag overlap.
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The WT_STREAM_APPEND and WT_STREAM_LINE_BUFFER flags have the same
value. This means any stream opened for appending will also be
line-buffered, and could possibly cause failure by appearing to set
WT_STREAM_APPEND plus WT_STREAM_READ or WT_STREAM_WRITE, when only
one can legally be specified.
|
| | |\
| | | |
| | | | |
WT-2529 Be less aggressive asserting in readonly connections
|
| | | |
| | | |
| | | |
| | | | |
The file system permissions cleanup was masking real failures.
|
| | |/
| | |
| | |
| | |
| | | |
It is still reasonable to fsync the standard I/O channels in a read
only connection.
|
| | |\
| | | |
| | | | |
WT-2528: style error in WiredTiger build
|
| | |/ |
|
| | |\
| | | |
| | | | |
WT-2527: OS X compile error, missing POSIX_FADV_WILLNEED #define
|
| | | |
| | | |
| | | |
| | | |
| | | | |
OS X needs fake POSIX_FADV_XXX #defines as well as Windows, move
them to os.h.
|
| | | | |
|
| | |\ \
| | | |/
| | |/| |
WT-2525: in-memory configurations: miscellaneous cleanups
|
| | | |
| | | |
| | | |
| | | | |
Coverity 1353727: va_copy() missing the va_end() call.
|