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

Kai Zheng commented on HADOOP-12047:
------------------------------------

Thanks Walter for the good review!

bq. Do I understand correctly?
Yeah, you understood very well. This issue is mainly to introduce 
*ALLOW_CHANGE_INPUTS* option, but also adds *PREFER_DIRECT_BUFFER* option by 
the way. The former is letting caller to set, and the later is fixed for a 
coder, but letting caller to query. That's why CoderOption is not made 
unmodifiable. Both options are used in other issues, like HDFS-8957 and etc. 
for client and DN sides. I didn't use these new options here because using them 
couples with other things and needs some clean up. Another option *ALLOW_DUMP* 
is only used internally in a coder impl opened by tests and found useful while 
developing the new Java coder and ISA-L coder.

bq. allowChangeInputs as a method name is like "do something" not "check 
something"
Yeah, how about *IsChangeInputsAllowed*?

Will update the patch accordingly and also fixing the check style issues.


> Indicate preference not to affect input buffers during coding in erasure coder
> ------------------------------------------------------------------------------
>
>                 Key: HADOOP-12047
>                 URL: https://issues.apache.org/jira/browse/HADOOP-12047
>             Project: Hadoop Common
>          Issue Type: Sub-task
>            Reporter: Kai Zheng
>            Assignee: Kai Zheng
>             Fix For: HDFS-7285
>
>         Attachments: HADOOP-12047-HDFS-7285-v1.patch, HADOOP-12047-v2.patch, 
> initial-poc.patch
>
>
> It's good to define and ensure input buffers are not affected during coding 
> process in raw erasure coders. Below are copied from discussion with 
> [~jingzhao] in HDFS-8481:
> bq. In that case we cannot reuse the source buffers I guess? Then do we need 
> to expose this information in the decoder?
> bq. Good catch Jing! Yes in this case we can't reuse the source buffers here 
> as they need to be passed to caller/applications without being changed. I'm 
> planning to re-implement the Java coders in HADOOP-12041 and related, when 
> done it's possible to ensure the input buffers not to be affected. Benefits 
> of doing this in coder layer: 1) a more clear contract between coder and 
> caller in more general sense for the inputs; 2) concrete coder may have 
> specific tweak to optimize in the aspect, ideally no input data copying at 
> all, worst, make the copy, but all transparent to callers; 3) allow new 
> coders (LRC, HH) to be layered on other primitive coders (RS, XOR) more 
> easily.



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

Reply via email to