summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* WT-2706 Fix lost log writes when switching files (#2803)mongodb-3.2.8sueloverso2016-07-074-13/+46
| | | | | | Fix a path that incorrectly returning success from log_write without writing a log record. (cherry picked from commit 36d657ccc67ce0fb5dd1881458ffc8a748b8aa44)
* WT-2729 Focus eviction on the largest trees in cache (mongodb-3.2). (#2833)Michael Cahill2016-06-2811-122/+191
| | | | | | | | | | | | | | | 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.
* WT-2708 split child-update race with reconciliation/eviction (#2835)Keith Bostic2016-06-281-8/+16
| | | | | | | (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.
* SERVER-24580 Add more eviction stats to track efficiency. (#2830)Michael Cahill2016-06-238-134/+208
| | | | (cherry picked from commit 1f4aaa4490a82cf947afdabbb9214ee5b1850d13)
* WT-2696 Wait if we find an unbuffered flag without the size set yet. (#2794)sueloverso2016-06-232-63/+133
| | | | | | * Modify recovery test to use multiple threads to reproduce this issue. (cherry picked from commit 0d4c83daf7174788d2a83321c33a215a9bdfa89f)
* WT-2672 handle system calls that don't set errno (#2765)Keith Bostic2016-06-236-32/+50
| | | | | | | | | | 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)
* SERVER-24580 Fix backport.Michael Cahill2016-06-231-3/+1
|
* SERVER-24580 Update oldest txn ID with "strict, nowait" flags. (#2829)Michael Cahill2016-06-2312-17/+33
| | | | | 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)
* SERVER-24580 Enhance eviction when application threads are contributing (#2806)Michael Cahill2016-06-231-2/+10
| | | | | | | | | | | | | | | | | | | 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)
* WT-2702 Block operations when the cache is 100% full. (#2798)Michael Cahill2016-06-231-2/+3
| | | | (cherry picked from commit ac14731a59aebcd32775a5c0e06d37a8c666ee30)
* WT-2646 Add checkpoint_wait configuration option to drop (#2768)David Hows2016-06-024-13/+26
| | | | | | * 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)
* WT-2613 Add WT_UNUSED to a variable to fix Windows compilation. (#2717)mongodb-3.2.7David Hows2016-06-011-0/+3
| | | | (cherry picked from commit 7deb9c213ba5c866d26dd381e20b632f991eedc9)
* SERVER-24306 Fix stall in log_flush switching to new files. (#2761)Michael Cahill2016-06-011-1/+10
| | | | | | | | * SERVER-24306 Fix stall in log_flush switching to new files. * Pass boolean false rather than 0. (cherry picked from commit b89aaece7b2a58d183a0a2b33e20157ad7f02258)
* WT-2629 Make the stack non-executable with GCC only. (#2742)Michael Cahill2016-06-011-1/+5
| | | | (cherry picked from commit f6f86961a49894bb1b72c4c4d2cdca5c0d0ea9e4)
* WT-2629 Don't make stacks executable in assembly source. (#2739)Michael Cahill2016-06-011-0/+3
| | | | (cherry picked from commit 0f7ae730d9ab28aaa51a938075502f639947d26f)
* Merge pull request #2677 from wiredtiger/wt-2560-spinAlex Gorrod2016-06-011-3/+20
| | | | | WT-2560 Spin on transaction locks. (cherry picked from commit f498d8c1c1d3fbbb6cb44c16fa85ab0de2a4aafc)
* Merge pull request #2660 from wiredtiger/wt-2560Michael Cahill2016-06-0117-146/+143
| | | | | | | WT-2560 Use a rwlock to protect transaction state, don't spin. Conflicted on a whitespace cleanup. (cherry picked from commit 76e286c7ba46c66d6b80a6cfbc9f302445595f42)
* Merge pull request #2664 from wiredtiger/wt-2559Keith Bostic2016-06-011-3/+15
| | | | | WT-2559 Open a local log file handle for sync. (cherry picked from commit 6b3553003f32b9255fddf56045643e7076d51868)
* Merge pull request #2670 from wiredtiger/wt-2566mongodb-3.2.6Michael Cahill2016-04-202-11/+38
| | | | | WT-2566 Lock/unlock operations should imply memory barriers. (cherry picked from commit 05cfbc26c2ab2099d7c98080a79ae67ea531c24f)
* Merge branch 'mongodb-3.4' into mongodb-3.2Alex Gorrod2016-04-081-10/+8
|\
| * Merge branch 'develop' into mongodb-3.4Alex Gorrod2016-04-081-10/+8
| |\
| | * Merge pull request #2638 from wiredtiger/server-23588-win-fopenMichael Cahill2016-04-081-10/+8
| | |\ | | | | | | | | SERVER-23588 Stop using _open_osfhandle on Windows.
| | | * SERVER-23588 Stop using _open_osfhandle on Windows.Alex Gorrod2016-04-081-10/+8
| | |/ | | | | | | | | | | | | It introduced some odd failures on debug MongoDB builds. Switch to using fopen instead.
* | | Merge branch 'mongodb-3.4' into mongodb-3.2Michael Cahill2016-04-07126-3039/+4555
|\ \ \ | |/ /
| * | Merge branch 'develop' into mongodb-3.4Michael Cahill2016-04-072-5/+11
| |\ \ | | |/
| | * Merge pull request #2637 from wiredtiger/wt-2534Alex Gorrod2016-04-072-5/+11
| | |\ | | | | | | | | WT-2534 Use atomic add when allocating transaction IDs.
| | | * WT-2534 Use atomic add when allocating transaction IDs.Michael Cahill2016-04-072-5/+11
| | |/
| * | Merge branch 'develop' into mongodb-3.4Alex Gorrod2016-04-05125-3034/+4544
| |\ \ | | |/
| | * Merge pull request #2633 from wiredtiger/wt-2533Michael Cahill2016-04-051-4/+11
| | |\ | | | | | | | | WT-2533 Don't let in-memory tables return a zero size.
| | | * WT-2533 Fix compiler error re: function prototypes.Alex Gorrod2016-04-051-0/+2
| | | |
| | | * WT-2533 Make __im_file_size consistent with __im_handle_size.Alex Gorrod2016-04-051-3/+3
| | | |
| | | * WT-2533 Fix a typo in the last commit - actually return non-zero.Alex Gorrod2016-04-051-1/+1
| | | |
| | | * WT-2533 Don't let in-memory tables return a zero size.Alex Gorrod2016-04-051-1/+6
| | |/ | | | | | | | | | | | | Returning a zero size breaks MongoDB replication. Return a non-zero size for now until SERVER-23526 is resolved.
| | * Merge pull request #2629 from wiredtiger/wt-2531Alex Gorrod2016-04-052-5/+16
| | |\ | | | | | | | | WT-2531: in-memory tables are wasting space in truncation
| | | * WT-2531: in-memory tables are wasting space in truncationKeith Bostic2016-04-041-1/+4
| | | | | | | | | | | | | | | | | | | | 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.
| | | * WT-2531: in-memory tables are wasting space in truncationKeith Bostic2016-04-041-4/+12
| | | | | | | | | | | | | | | | | | | | The in-memory truncate call wasn't extending the file (by setting the size of the WT_ITEM after truncation extended it).
| | * | Merge pull request #2631 from wiredtiger/server-23504Alex Gorrod2016-04-051-1/+3
| | |\ \ | | | | | | | | | | SERVER-23504: Coverity analysis defect 98177: Resource leak
| | | * | SERVER-23504: Coverity analysis defect 98177: Resource leakKeith Bostic2016-04-041-1/+3
| | | |/ | | | | | | | | | | | | Don't leak the variable value if the call to __wt_fprintf fails.
| | * | Merge pull request #2630 from wiredtiger/wt-2532Alex Gorrod2016-04-051-3/+3
| | |\ \ | | | |/ | | |/| WT-2532: WT_STREAM_APPEND and WT_STREAM_LINE_BUFFER flag overlap.
| | | * WT-2532: WT_STREAM_APPEND and WT_STREAM_LINE_BUFFER flag overlap.Keith Bostic2016-04-041-3/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | 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.
| | * Merge pull request #2628 from wiredtiger/wt-2529-fsync_readonlyMichael Cahill2016-04-044-3/+5
| | |\ | | | | | | | | WT-2529 Be less aggressive asserting in readonly connections
| | | * WT-2529 Fixup readonly test to not mask exit error codes.Alex Gorrod2016-04-041-1/+1
| | | | | | | | | | | | | | | | The file system permissions cleanup was masking real failures.
| | | * WT-2529 Move an assertion related to fsync and readonly connections.Alex Gorrod2016-04-043-2/+4
| | |/ | | | | | | | | | | | | It is still reasonable to fsync the standard I/O channels in a read only connection.
| | * Merge pull request #2626 from wiredtiger/wt-2528Keith Bostic2016-04-011-2/+2
| | |\ | | | | | | | | WT-2528: style error in WiredTiger build
| | | * WT-2528: style error in WiredTiger buildKeith Bostic2016-04-011-2/+2
| | |/
| | * Merge pull request #2625 from wiredtiger/POSIX_FADVISEKeith Bostic2016-04-012-11/+12
| | |\ | | | | | | | | WT-2527: OS X compile error, missing POSIX_FADV_WILLNEED #define
| | | * WT-2527: OS X compile error, missing POSIX_FADV_WILLNEED #defineKeith Bostic2016-04-014-17/+12
| | | | | | | | | | | | | | | | | | | | OS X needs fake POSIX_FADV_XXX #defines as well as Windows, move them to os.h.
| | | * Added a check for HAVE_POSIX_FADVISE to fix a compilation error on OS X.Sasha Fedorova2016-04-012-0/+6
| | | |
| | * | Merge pull request #2621 from wiredtiger/wt-2525sueloverso2016-04-018-36/+26
| | |\ \ | | | |/ | | |/| WT-2525: in-memory configurations: miscellaneous cleanups
| | | * WT-2525: in-memory configurations: miscellaneous cleanupsKeith Bostic2016-04-011-0/+1
| | | | | | | | | | | | | | | | Coverity 1353727: va_copy() missing the va_end() call.