{"record":{"id":"32b4f18ad8f579f0","repo":"apache/druid","slug":"could-not-load-uri-s","errorCode":null,"errorMessage":"Could not load URI [%s]","messagePattern":"Could not load 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":179,"sourceCode":"            if (S3Utils.S3RETRY.apply(e)) {\n              throw new IOException(\"Recoverable exception\", e);\n            }\n          }\n          throw new RuntimeException(e);\n        }\n      }\n    };\n    return byteSource;\n  }\n\n  @Override\n  public InputStream getInputStream(URI uri) throws IOException\n  {\n    try {\n      return buildFileObject(uri).openInputStream();\n    }\n    catch (SdkException e) {\n      throw new IOE(e, \"Could not load URI [%s]\", uri);\n    }\n  }\n\n  public FileObject buildFileObject(final URI uri) throws SdkException\n  {\n    final CloudObjectLocation coords = new CloudObjectLocation(S3Utils.checkURI(uri));\n    final String path = uri.getPath();\n\n    return new FileObject()\n    {\n      ResponseInputStream<GetObjectResponse> s3InputStream = null;\n      HeadObjectResponse objectMetadata = null;\n\n      @Override\n      public URI toUri()\n      {\n        return uri;\n      }","sourceCodeStart":161,"sourceCodeEnd":197,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java#L161-L197","documentation":"Failure wrapper in S3DataSegmentPuller.getInputStream: opening the S3 object at the given URI threw an SdkException (network, auth, permission, missing object other than handled cases), which is rethrown as an IOException reporting that the URI could not be loaded.","triggerScenarios":"Thrown at extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java:179 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the SdkException cause: check bucket/path spelling, credentials, and IAM permissions.","Confirm the object exists at the URI.","Retry if the cause is transient; otherwise fix storage configuration."],"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"}