Uploaded image for project: 'Hadoop HDFS'
  1. Hadoop HDFS
  2. HDFS-14306

Re-use Java buffers across libhdfs read calls

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • hdfs-client, libhdfs, native
    • None

    Description

      Filesystem connectors that don't natively support ByteBuffer cannot fully take advantage of the direct read optimizations added in HDFS-2834HDFS-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.

      Attachments

        Activity

          People

            stakiar Sahil Takiar
            stakiar Sahil Takiar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: