| 237 | return e.get(); |
| 238 | } |
| 239 | when(ErrorOr<Void> e = wait(storeError)) { |
| 240 | // for remote kv store, worker can terminate without an error, so throws actor_cancelled |
| 241 | // (there's probably a better way tho) |
| 242 | TraceEvent("WorkerTerminatingByIOError", id) |
| 243 | .errorUnsuppressed(e.isError() ? e.getError() : actor_cancelled()); |
| 244 | actor.cancel(); |
| 245 | // file_not_found can occur due to attempting to open a partially deleted DiskQueue, which should not be |
| 246 | // reported SevError. |
| 247 | if (e.isError() && e.getError().code() == error_code_file_not_found) { |
| 248 | CODE_PROBE(true, "Worker terminated with file_not_found error"); |
| 249 | return Void(); |
| 250 | } |
| 251 | throw e.isError() ? e.getError() : actor_cancelled(); |
| 252 | } |
| 253 | } |
| 254 | } |
| 255 |
no test coverage detected