hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kai Zheng (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-11938) Fix ByteBuffer version encode/decode API of raw erasure coder
Date Fri, 08 May 2015 03:28:00 GMT
Kai Zheng created HADOOP-11938:

             Summary: Fix ByteBuffer version encode/decode API of raw erasure coder
                 Key: HADOOP-11938
                 URL: https://issues.apache.org/jira/browse/HADOOP-11938
             Project: Hadoop Common
          Issue Type: Sub-task
            Reporter: Kai Zheng
            Assignee: Kai Zheng

While investigating a test failure in {{TestRecoverStripedFile}}, one issue in raw erasrue
coder, a bad optimization in below codes. It assumes the  heap buffer backed by the bytes
array available for reading or writing always starts with zero and takes the whole.
  protected static byte[][] toArrays(ByteBuffer[] buffers) {
    byte[][] bytesArr = new byte[buffers.length][];

    ByteBuffer buffer;
    for (int i = 0; i < buffers.length; i++) {
      buffer = buffers[i];
      if (buffer == null) {
        bytesArr[i] = null;

      if (buffer.hasArray()) {
        bytesArr[i] = buffer.array();
      } else {
        throw new IllegalArgumentException("Invalid ByteBuffer passed, " +
            "expecting heap buffer");

    return bytesArr;

This message was sent by Atlassian JIRA

View raw message