Details
Description
Right now in the catch block of mongo::execCommandDatabase in src/mongo/db/commands/dbcommands.cpp the operationTime is set to the current clusterTime. This is correct, but can result in extra waiting on subsequent afterClusterTime reads. Once the exception handling path is moved into Command::run, the operationTime should be found using the _computeOperationTime function. This is because _computeOperationTime requires the startOperationTime and the readConcern level.