summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/async
diff options
context:
space:
mode:
authorRamon Fernandez <ramon@mongodb.com>2016-08-26 18:28:48 -0400
committerRamon Fernandez <ramon@mongodb.com>2016-08-26 18:28:48 -0400
commitf2a613a41d6ad7b5a1b66087e386380d38e50599 (patch)
tree4843fb7b6a835e72046142046e9364f7d7dda992 /src/third_party/wiredtiger/src/async
parent7614c0eb2449eb4ec22d21b677177124d61f1888 (diff)
downloadmongo-f2a613a41d6ad7b5a1b66087e386380d38e50599.tar.gz
Import wiredtiger: 2566118fc68b0124187e806bed52eb7cdbcb1be0 from branch mongodb-3.4
ref: 34182ad..2566118fc6 for: 3.3.12 WT-2631 nullptr is passed for parameters marked with attribute non-null WT-2638 ftruncate may not be supported WT-2645 wt dump: push the complexity of collecting metadata into a dump cursor WT-2678 The metadata should not imply that an empty value is true WT-2695 Integrate s390x accelerated crc32c support WT-2719 add fuzz testing for WiredTiger options and reconfiguration. WT-2734 Improve documentation of eviction behavior WT-2766 Don't count eviction of lookaside file pages for the purpose of checking stuck cache WT-2783 wtperf multi-btree.wtperf dumps core on Mac WT-2787 Include src/include/wiredtiger_ext.h is problematic WT-2795 Update documentation around read-only configuration WT-2807 Switch Jenkins performance tests to tcmalloc WT-2813 small cache usage stuck even with large cache WT-2814 Enhance wtperf to support single-op truncate mode WT-2816 Improve WiredTiger eviction performance WT-2817 Investigate performance regression in develop, add workload to wtperf/runners WT-2818 The page visibility check when queuing pages for eviction is overly restrictive WT-2820 add gcc warn_unused_result attribute WT-2822 panic mutex and other functions that cannot fail WT-2823 support file handles without a truncate method WT-2826 clang38 false positive on uninitialized variable. WT-2827 checkpoint log_size configuration improvements WT-2828 Make long wtperf tests reflect mongoDB usage WT-2829 Switch automated testing to use enable-strict configure option WT-2832 Python test uses hard-coded temporary directory WT-2834 Join cursor: discrepancy with bloom filters WT-2835 WT_CONNECTION.leak-memory can skip memory map and cache cleanup WT-2838 Don't free session handles on close if leak memory is configured WT-2839 lint: Ignoring return value of function WT-2840 clang analysis: garbage values WT-2841 Jenkins Valgrind runner is reporting errors in test wt2719_reconfig WT-2843 Fix a bug in recovery if there is no filesystem truncate support WT-2846 Several bugs related to reconfiguring eviction server at runtime WT-2847 Merge fair locks into read/write locks. WT-2850 clang 4.1 attribute warnings when building WT-2853 Multi threaded reader writer example shows temporary slowdown or lockup WT-2857 POSIX ftruncate calls should be #ifdef'd HAVE_FTRUNCATE WT-2862 Fix lint error in test case for forced eviction with multiple cursors WT-2863 Support UTF-8 paths on Windows
Diffstat (limited to 'src/third_party/wiredtiger/src/async')
-rw-r--r--src/third_party/wiredtiger/src/async/async_api.c10
-rw-r--r--src/third_party/wiredtiger/src/async/async_worker.c11
2 files changed, 8 insertions, 13 deletions
diff --git a/src/third_party/wiredtiger/src/async/async_api.c b/src/third_party/wiredtiger/src/async/async_api.c
index d53a6c65c1d..d55732abfb5 100644
--- a/src/third_party/wiredtiger/src/async/async_api.c
+++ b/src/third_party/wiredtiger/src/async/async_api.c
@@ -89,7 +89,7 @@ setup: op->format = af;
err:
if (c != NULL)
- (void)c->close(c);
+ WT_TRET(c->close(c));
__wt_free(session, af->uri);
__wt_free(session, af->config);
__wt_free(session, af->key_format);
@@ -489,7 +489,6 @@ __wt_async_flush(WT_SESSION_IMPL *session)
{
WT_ASYNC *async;
WT_CONNECTION_IMPL *conn;
- WT_DECL_RET;
uint32_t i, workers;
conn = S2C(session);
@@ -540,16 +539,15 @@ retry:
(void)__wt_atomic_add64(&async->flush_gen, 1);
WT_ASSERT(session, async->flush_op.state == WT_ASYNCOP_FREE);
async->flush_op.state = WT_ASYNCOP_READY;
- WT_ERR(__wt_async_op_enqueue(session, &async->flush_op));
+ WT_RET(__wt_async_op_enqueue(session, &async->flush_op));
while (async->flush_state != WT_ASYNC_FLUSH_COMPLETE)
- WT_ERR(__wt_cond_wait(NULL, async->flush_cond, 100000));
+ __wt_cond_wait(NULL, async->flush_cond, 100000);
/*
* Flush is done. Clear the flags.
*/
async->flush_op.state = WT_ASYNCOP_FREE;
WT_PUBLISH(async->flush_state, WT_ASYNC_FLUSH_NONE);
-err:
- return (ret);
+ return (0);
}
/*
diff --git a/src/third_party/wiredtiger/src/async/async_worker.c b/src/third_party/wiredtiger/src/async/async_worker.c
index 90dac557e36..cf83d797738 100644
--- a/src/third_party/wiredtiger/src/async/async_worker.c
+++ b/src/third_party/wiredtiger/src/async/async_worker.c
@@ -102,13 +102,12 @@ retry:
* __async_flush_wait --
* Wait for the final worker to finish flushing.
*/
-static int
+static void
__async_flush_wait(WT_SESSION_IMPL *session, WT_ASYNC *async, uint64_t my_gen)
{
while (async->flush_state == WT_ASYNC_FLUSHING &&
async->flush_gen == my_gen)
- WT_RET(__wt_cond_wait(session, async->flush_cond, 10000));
- return (0);
+ __wt_cond_wait(session, async->flush_cond, 10000);
}
/*
@@ -326,15 +325,13 @@ __wt_async_worker(void *arg)
*/
WT_PUBLISH(async->flush_state,
WT_ASYNC_FLUSH_COMPLETE);
- WT_ERR(__wt_cond_signal(session,
- async->flush_cond));
+ __wt_cond_signal(session, async->flush_cond);
} else
/*
* We need to wait for the last worker to
* signal the condition.
*/
- WT_ERR(__async_flush_wait(
- session, async, flush_gen));
+ __async_flush_wait(session, async, flush_gen);
}
}