| 238 | } |
| 239 | |
| 240 | Status RuntimeState::LogOrReturnError(const ErrorMsg& message) { |
| 241 | DCHECK_NE(message.error(), TErrorCode::OK); |
| 242 | // If either abort_on_error=true or the error necessitates execution stops |
| 243 | // immediately, return an error status. |
| 244 | if (abort_on_error() |
| 245 | || message.error() == TErrorCode::CANCELLED |
| 246 | || message.error() == TErrorCode::CANCELLED_INTERNALLY |
| 247 | || message.error() == TErrorCode::MEM_LIMIT_EXCEEDED |
| 248 | || message.error() == TErrorCode::INTERNAL_ERROR |
| 249 | || message.error() == TErrorCode::DISK_IO_ERROR |
| 250 | || message.error() == TErrorCode::THREAD_POOL_SUBMIT_FAILED |
| 251 | || message.error() == TErrorCode::THREAD_POOL_TASK_TIMED_OUT) { |
| 252 | return Status(message); |
| 253 | } |
| 254 | // Otherwise, add the error to the error log and continue. |
| 255 | LogError(message); |
| 256 | return Status::OK(); |
| 257 | } |
| 258 | |
| 259 | void RuntimeState::Cancel() { |
| 260 | is_cancelled_.Store(true); |
no test coverage detected