apache/druid · error · UnsupportedOperationException (UOE)

Cannot open reader

Error message

Cannot open reader

What it means

Unsupported-operation sentinel in S3DataSegmentPuller's FileObject: openReader() is rejected because character-reader semantics are not meaningful for a binary S3 object; the FileObject only supports binary InputStream access.

Solutions

  1. Use openInputStream() and wrap with an explicit charset Reader if text access is required.
  2. Do not use this FileObject with APIs that require openReader().
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java:248 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07). Data as JSON: /api/errors/b06d1eb30c541336. Report an issue: GitHub.

Appendix: source

Thrown at extensions-core/s3-extensions/src/main/java/org/apache/druid/storage/s3/S3DataSegmentPuller.java:248

        }
        catch (SdkException e) {
          if (e instanceof S3Exception && ((S3Exception) e).statusCode() == 404) {
            throw new IOE(e, "IndexFile[s3://%s/%s] does not exist", coords.getBucket(), coords.getPath());
          }
          throw new IOE(e, "Could not load S3 URI [%s]", uri);
        }
      }

      @Override
      public OutputStream openOutputStream()
      {
        throw new UOE("Cannot stream S3 output");
      }

      @Override
      public Reader openReader(boolean ignoreEncodingErrors)
      {
        throw new UOE("Cannot open reader");
      }

      @Override
      public CharSequence getCharContent(boolean ignoreEncodingErrors)
      {
        throw new UOE("Cannot open character sequence");
      }

      @Override
      public Writer openWriter()
      {
        throw new UOE("Cannot open writer");
      }

      @Override
      public long getLastModified()
      {
        if (s3InputStream != null) {

View on GitHub (pinned to 9b90983fd2)