This means that any fragment will always set insert_exec_status in its response, even if it's not an INSERT query.
However, in the RPC handler, Coordinator::UpdateFragmentExecStatus(), we have:
which means that the RPC will always try and take the query exec state lock, for every 'done' report. With lots of fragment instances, this can lead to some severe serialisation of reports when the query finishes.
The simplest workaround is not to set insert_exec_status for SELECT queries. But a better solution (that will help INSERTs as well) is not to try and do the merge here, but instead in Coordinator::FinalizeSuccessfulInsert(), saving the TInsertExecStatus in the fragment instance state until that point.