{"record":{"id":"34ea1695fd7c2e18","repo":"apache/hadoop","slug":"upload-of-part-partnumber-was-aborted","errorCode":null,"errorMessage":"Upload of part <partNumber> was aborted","messagePattern":"Upload of part <partNumber> was aborted","errorType":"exception","errorClass":"CancellationException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java","lineNumber":1172,"sourceCode":"    /**\n     * Block awaiting all outstanding uploads to complete.\n     * Any interruption of this thread or a failure in an upload will\n     * trigger cancellation of pending uploads and an abort of the MPU.\n     * @return list of results or null if interrupted.\n     * @throws CancellationException waiting for the uploads to complete was cancelled\n     * @throws IOException IO Problems\n     */\n    private List<CompletedPart> waitForAllPartUploads()\n        throws CancellationException, IOException {\n      LOG.debug(\"Waiting for {} uploads to complete\", partETagsFutures.size());\n      try {\n        // wait for the uploads to finish in order.\n        final List<CompletedPart> completedParts = awaitAllFutures(partETagsFutures);\n        for (CompletedPart part : completedParts) {\n          if (StringUtils.isEmpty(part.eTag())) {\n            // this was somehow cancelled/aborted\n            // explicitly fail.\n            throw new CancellationException(\"Upload of part \"\n                + part.partNumber() + \" was aborted\");\n          }\n        }\n        return completedParts;\n      } catch (CancellationException e) {\n        // One or more of the futures has been cancelled.\n        LOG.warn(\"Cancelled while waiting for uploads to {} to complete\", key, e);\n        throw e;\n      } catch (RuntimeException | IOException ie) {\n        // IO failure or low level problem.\n        LOG.debug(\"Failure while waiting for uploads to {} to complete;\"\n                + \" uploadAborted={}\",\n            key, uploadAborted.get(), ie);\n        abort();\n        throw ie;\n      }\n    }\n","sourceCodeStart":1154,"sourceCodeEnd":1190,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java#L1154-L1190","documentation":"Error \"Upload of part <partNumber> was aborted\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3ABlockOutputStream.java:1172 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the upload; a concurrent abort or failure caused the part upload to be aborted. Inspect logs for the abort cause."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-23T01:17:44.959Z"}