{"record":{"id":"635a7a105396e4c8","repo":"apache/druid","slug":"could-not-load-s3-uri-s","errorCode":null,"errorMessage":"Could not load S3 URI [%s]","messagePattern":"Could not load S3 URI \\[(.+?)\\]","errorType":"exception","errorClass":"IOException (IOE)","httpStatus":null,"severity":"error","filePath":"extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java","lineNumber":235,"sourceCode":"\n          final InputStream in = s3InputStream;\n          final Closer closer = Closer.create();\n          closer.register(in);\n\n          return new FilterInputStream(in)\n          {\n            @Override\n            public void close() throws IOException\n            {\n              closer.close();\n            }\n          };\n        }\n        catch (SdkException e) {\n          if (e instanceof S3Exception && ((S3Exception) e).statusCode() == 404) {\n            throw new IOE(e, \"IndexFile[s3://%s/%s] does not exist\", coords.getBucket(), coords.getPath());\n          }\n          throw new IOE(e, \"Could not load S3 URI [%s]\", uri);\n        }\n      }\n\n      @Override\n      public OutputStream openOutputStream()\n      {\n        throw new UOE(\"Cannot stream S3 output\");\n      }\n\n      @Override\n      public Reader openReader(boolean ignoreEncodingErrors)\n      {\n        throw new UOE(\"Cannot open reader\");\n      }\n\n      @Override\n      public CharSequence getCharContent(boolean ignoreEncodingErrors)\n      {","sourceCodeStart":217,"sourceCodeEnd":253,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java#L217-L253","documentation":"Generic failure wrapper in S3DataSegmentPuller's buildFileObject openInputStream: the S3 GetObject call threw a non-404 SdkException (auth, permissions, throttling, network), rethrown as an IOE reporting the S3 URI could not be loaded.","triggerScenarios":"Thrown at extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java:235 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the underlying SdkException for the true S3 error code.","Verify credentials, bucket policy, and region configuration.","Retry transient failures; S3Utils.retryS3Operation may already cover some cases."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}