If a count is interrupted (by a db.killOp()), the response to the client indicates failure and has an "errmsg" of "11601 operation was interrupted", but does not contain an error code. This is unfortunate for code that wants to determine if a failure was due to some kind of transient database failure, or deliberate termination by an administrator or sweeper (in which case it should not be retried)
This happens because CmdCount::run() calls into runCount(ns.c_str(), cmdObj, err, errCode), but then discards the value errCode, instead of storing it into the result.
- is duplicated by
-
SERVER-15141 stale config error flattened when thrown after yielding in count() command
- Closed
- is related to
-
SERVER-11035 count10.js failing on some Enterprise MCI builders
- Closed
-
SERVER-15141 stale config error flattened when thrown after yielding in count() command
- Closed
- related to
-
SERVER-2212 Server automatically abort queries/commands after user-specified time limit
- Closed