diff options
author | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2015-12-29 12:04:55 -0500 |
---|---|---|
committer | Kaloian Manassiev <kaloian.manassiev@mongodb.com> | 2015-12-30 15:35:28 -0500 |
commit | 5d2d6e209acd862324612c7f9c41d65940f8dcba (patch) | |
tree | 8ccfea2ba5cc6b118d5d82d70ebe06ba88b135aa /src/mongo/db/operation_context.cpp | |
parent | 5f4c54029d47229533b54c7683df71809cc26ff0 (diff) | |
download | mongo-5d2d6e209acd862324612c7f9c41d65940f8dcba.tar.gz |
SERVER-22027 Sharding should not retry killed operations
Diffstat (limited to 'src/mongo/db/operation_context.cpp')
-rw-r--r-- | src/mongo/db/operation_context.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/operation_context.cpp b/src/mongo/db/operation_context.cpp index 1b79dadcb50..1434ee5ddc7 100644 --- a/src/mongo/db/operation_context.cpp +++ b/src/mongo/db/operation_context.cpp @@ -46,12 +46,13 @@ Client* OperationContext::getClient() const { return _client; } -void OperationContext::markKilled() { - _killPending.store(1); +void OperationContext::markKilled(ErrorCodes::Error killCode) { + invariant(killCode != ErrorCodes::OK); + _killCode.compareAndSwap(ErrorCodes::OK, killCode); } -bool OperationContext::isKillPending() const { - return _killPending.loadRelaxed(); +ErrorCodes::Error OperationContext::getKillStatus() const { + return _killCode.loadRelaxed(); } } // namespace mongo |