Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Filesystem connectors that don't natively support ByteBuffer cannot fully take advantage of the direct read optimizations added in HDFS-2834 / HDFS-3110. In this case, they fall back to the regular read path which allocates a Java byte array for every read. This leads to a lot of perf overhead wasted in TypeArrayKlass::allocate_common.
A performance optimization would be to re-use Java byte arrays between calls to hdfsRead / hdfsPread so that new arrays don't need to be allocate for every single call.