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

Colin Patrick McCabe commented on HADOOP-11996:
-----------------------------------------------

Hi [~drankye],

Sorry for the hiatus.  I was on vacation, and after that I had to do some other 
things.

I took a look at this again today.  I think there have been a lot of positive 
changes... avoiding duplication of the unit test is a good thing, for example.

However, I think the code needs some more structure.  Right now, it is hard to 
see the connection between source code names and what is there.  For example, 
why is {{erasure_coder.c}} not in the coder directory?  Why is 
{{erasure_code_native.c}} in the {{coder}} directory, and why doesn't it have 
anything to do with coders?  Why is the source for the functions described in 
{{gf_util.h}} in a source file named {{erasure_code.c}}?  I also see that there 
are some other native code changes in HADOOP-11540, like the addition of a 
{{coder_util.c}} file.

To move forward with this, I suggest:
* Let's put all the native changes needed to get ISAL to work into this patch.  
The natural patch split is Java code in HADOOP-11540, and C code in this JIRA, 
so let's do that.  Let's see all the C code in this patch.
* Get rid of the {{hadoop/io/erasurecode/coder}} directory.  We should be able 
to put all the code in {{hadoop/io/erasurecode}}; everything in this directory 
should serve the cause of erasure encoding and decoding, so there is no need 
for a separate directory.
* Put the functions described in {{gf_util.h}} in a source code file named 
{{gf_util.c}}, not in {{erasure_code.c}}
* Functions like dump, dumpMatrix, dumpCodingMatrix, etc. belong in a utility 
file named something like {{dump.c}}
* Rename {{CoderState}} to {{IsalEncoder}}.  Rename {{DecoderState}} to 
{{IsalDecoder}}.

Thanks, [~drankye] and [~zhz]

> Native erasure coder facilities based on ISA-L
> ----------------------------------------------
>
>                 Key: HADOOP-11996
>                 URL: https://issues.apache.org/jira/browse/HADOOP-11996
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: io
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>         Attachments: HADOOP-11996-initial.patch, HADOOP-11996-v2.patch, 
> HADOOP-11996-v3.patch, HADOOP-11996-v4.patch, HADOOP-11996-v5.patch, 
> HADOOP-11996-v6.patch, HADOOP-11996-v7.patch
>
>
> While working on HADOOP-11540 and etc., it was found useful to write the 
> basic facilities based on Intel ISA-L library separately from JNI stuff. It's 
> also easy to debug and troubleshooting, as no JNI or Java stuffs are involved.



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

Reply via email to