apache/hadoop · error · UnsupportedOperationException
Byte-buffer read unsupported by ${className}
Error message
Byte-buffer read unsupported by ${className} What it means
Error "Byte-buffer read unsupported by ${className}" thrown in apache/hadoop.
Source
Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSDataInputStream.java:160
/**
* Get a reference to the wrapped input stream. Used by unit tests.
*
* @return the underlying input stream
*/
@InterfaceAudience.Public
@InterfaceStability.Stable
public InputStream getWrappedStream() {
return in;
}
@Override
public int read(ByteBuffer buf) throws IOException {
if (in instanceof ByteBufferReadable) {
return ((ByteBufferReadable)in).read(buf);
}
throw new UnsupportedOperationException("Byte-buffer read unsupported " +
"by " + in.getClass().getCanonicalName());
}
@Override
public FileDescriptor getFileDescriptor() throws IOException {
if (in instanceof HasFileDescriptor) {
return ((HasFileDescriptor) in).getFileDescriptor();
} else if (in instanceof FileInputStream) {
return ((FileInputStream) in).getFD();
} else {
return null;
}
}
@Override
public void setReadahead(Long readahead)
throws IOException, UnsupportedOperationException {
try {View on GitHub (pinned to 2add963021)
Solutions
- Use the byte-array read() APIs instead of ByteBuffer reads.
- Check hasCapability("in:readbytebuffer") before calling ByteBuffer read.
- Provide a HasEnhancedByteBufferAccess-capable stream from the filesystem implementation.
When it happens
Trigger: Thrown at hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/FSDataInputStream.java:160 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/5edd183d2b4b59b3.
Report an issue: GitHub.