| 861 | // transaction which might repair our configuration, and return it. |
| 862 | loop choose { |
| 863 | when(GetReadVersionRequest req = |
| 864 | waitNext(parent->provisionalGrvProxies[0].getConsistentReadVersion.getFuture())) { |
| 865 | if ((req.flags & GetReadVersionRequest::FLAG_CAUSAL_READ_RISKY) && |
| 866 | (req.flags & GetReadVersionRequest::FLAG_USE_PROVISIONAL_PROXIES) && parent->lastEpochEnd) { |
| 867 | GetReadVersionReply rep; |
| 868 | rep.version = parent->lastEpochEnd; |
| 869 | rep.locked = locked; |
| 870 | rep.metadataVersion = metadataVersion; |
| 871 | rep.proxyId = parent->provisionalGrvProxies[0].id(); |
| 872 | req.reply.send(rep); |
| 873 | } else |
| 874 | req.reply.send(Never()); // We can't perform causally consistent reads without recovering |
| 875 | } |
| 876 | when(CommitTransactionRequest req = waitNext(parent->provisionalCommitProxies[0].commit.getFuture())) { |
| 877 | req.reply.send(Never()); // don't reply (clients always get commit_unknown_result) |
| 878 | auto t = &req.transaction; |
no test coverage detected