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

Kai Zheng commented on HADOOP-13010:
------------------------------------

bq. It seems better just to have one function, createRawEncoder, than to have 
lots of functions for every type of encoder.
Ok let's just have one function. Based on the new approach you suggested, we 
may be clear then how many lines of codes would be needed to create the 
primitive rs coder, and if it's rather simple ok no shortcut alias method is 
needed, otherwise it would sound good to have the shortcut method because we 
have many places in HDFS side to create the coder, avoiding duplication of 
lines of codes. Anyway let we rebase the codes first trying to use the ONE 
method.
bq. Reducing the number of function parameters from 8 or 9 to 1 or 2 seems like 
it would make the code much more readable. I don't understand what the 
rationale is for keeping these parameters out of DecodingState. Perhaps we 
could discuss this in a follow-on JIRA, though.
I agree it's doable if we would reorganize the codes some bit because in my 
rational, if you move the variables to the class, then the relevant codes using 
the variables would also be moved as well, otherwise the class of DecodingState 
would be just like a c-style struct of some fields. The other reason I 
mentioned is DecodingState in the direct bytebuffer case wouldn't need these 
variables because they're just for bytes array backed buffers.

> Refactor raw erasure coders
> ---------------------------
>
>                 Key: HADOOP-13010
>                 URL: https://issues.apache.org/jira/browse/HADOOP-13010
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>         Attachments: HADOOP-13010-v1.patch, HADOOP-13010-v2.patch, 
> HADOOP-13010-v3.patch, HADOOP-13010-v4.patch, HADOOP-13010-v5.patch
>
>
> This will refactor raw erasure coders according to some comments received so 
> far.
> * As discussed in HADOOP-11540 and suggested by [~cmccabe], better not to 
> rely class inheritance to reuse the codes, instead they can be moved to some 
> utility.
> * Suggested by [~jingzhao] somewhere quite some time ago, better to have a 
> state holder to keep some checking results for later reuse during an 
> encode/decode call.
> This would not get rid of some inheritance levels as doing so isn't clear yet 
> for the moment and also incurs big impact. I do wish the end result by this 
> refactoring will make all the levels more clear and easier to follow.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to