[ 
https://issues.apache.org/jira/browse/HADOOP-11847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14508494#comment-14508494
 ] 

Kai Zheng commented on HADOOP-11847:
------------------------------------

bq.Is decodingByteArrayBuffersForInput always filled with zero bytes? I don't 
see where it's filled with actual data
It's filled with ZERO bytes as below:
{code}
+    // Ensure only ZERO bytes are read from
+    for (int i = 0; i < decodingByteArrayBuffersForInput.length; ++i) {
+      System.arraycopy(ZERO_BYTES, 0, decodingByteArrayBuffersForInput[i],
+          0, ZERO_BYTES.length);
+    }
{code}
It's used in the following codes:
{code}
+    for (int i = 0; i < inputs.length; i++) {
+      if (inputs[i] != null) {
+        decodingByteArrayInputs[i] = inputs[i];
+      } else {
+        // Borrow it from decodingByteArrayBuffersForInput for the temp usage.
+        decodingByteArrayInputs[i] = decodingByteArrayBuffersForInput[idx];
+        decodingErasedIndexes[idx++] = i;
+      }
+    }
{code}

> Enhance raw coder allowing to read least required inputs in decoding
> --------------------------------------------------------------------
>
>                 Key: HADOOP-11847
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11847
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: io
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>         Attachments: HADOOP-11847-v1.patch, HADOOP-11847-v2.patch
>
>
> This is to enhance raw erasure coder to allow only reading least required 
> inputs while decoding. It will also refine and document the relevant APIs for 
> better understanding and usage. When using least required inputs, it may add 
> computating overhead but will possiblly outperform overall since less network 
> traffic and disk IO are involved.
> This is something planned to do but just got reminded by [~zhz]' s question 
> raised in HDFS-7678, also copied here:
> bq.Kai Zheng I have a question about decoding: in a (6+3) schema, if block #2 
> is missing, and I want to repair it with blocks 0, 1, 3, 4, 5, 8, how should 
> I construct the inputs to RawErasureDecoder#decode?
> With this work, hopefully the answer to above question would be obvious.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to