You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Wei-Chiu Chuang (JIRA)" <ji...@apache.org> on 2017/04/04 14:22:41 UTC
[jira] [Comment Edited] (HADOOP-13665) Erasure Coding codec should
support fallback coder
[ https://issues.apache.org/jira/browse/HADOOP-13665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15955186#comment-15955186 ]
Wei-Chiu Chuang edited comment on HADOOP-13665 at 4/4/17 2:22 PM:
------------------------------------------------------------------
Hello [~lewuathe] and [~drankye].
Thank you both for contributing the patch and posting comments. I wanted to review the patch and post comments too. Sorry that I am late to coming to it late.
Given that native codec is also preferred whenever possible, would it make sense to update IO_ERASURECODE_CODEC_RS_RAWCODER_DEFAULT to be "io.erasurecode.codec.rs.rawcoder</name>
<value>org.apache.hadoop.io.erasurecode.rawcoder.NativeRSRawErasureCoderFactory,io.erasurecode.codec.rs.rawcoder</name>
<value>org.apache.hadoop.io.erasurecode.rawcoder.RSRawErasureCoderFactory"? Also the same for other codecs.
In {{CodecUtil#createRawEncoderWithFallback}}, please print a warning message if fallback happens
{code}
catch (Exception e) {
// Fallback to next coder if possible
}
{code}
The warning message should be like "Failed to create raw erasure encoder <codec>, fallback to next codec if possible"
createRawDecoderWithFallback should also have the same warning log
Could you also use IO_ERASURECODE_CODEC instead of "io.erasurecode.codec."?
Please also update core-default.xml to include the configuration key io.erasurecode.codec.coders and its default value.
was (Author: jojochuang):
Hello [~lewuathe] and [~drankye].
Thank you both for contributing the patch and posting comments. I wanted to review the patch and post comments too. Sorry that I am late to coming to it late.
Given that native codec is also preferred whenever possible, would it make sense to update IO_ERASURECODE_CODEC_RS_RAWCODER_DEFAULT to be "NativeRSRawErasureCoderFactory,RSRawErasureCoderFactory"? Also the same for other codecs.
In {{CodecUtil#createRawEncoderWithFallback}}, please print a warning message if fallback happens
{code}
catch (Exception e) {
// Fallback to next coder if possible
}
{code}
The warning message should be like "Failed to create raw erasure encoder <codec>, fallback to next codec if possible"
createRawDecoderWithFallback should also have the same warning log
Could you also use IO_ERASURECODE_CODEC instead of "io.erasurecode.codec."?
Please also update core-default.xml to include the configuration key io.erasurecode.codec.coders and its default value.
> Erasure Coding codec should support fallback coder
> --------------------------------------------------
>
> Key: HADOOP-13665
> URL: https://issues.apache.org/jira/browse/HADOOP-13665
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: io
> Reporter: Wei-Chiu Chuang
> Assignee: Kai Sasaki
> Priority: Blocker
> Labels: hdfs-ec-3.0-must-do
> Attachments: HADOOP-13665.01.patch, HADOOP-13665.02.patch, HADOOP-13665.03.patch, HADOOP-13665.04.patch, HADOOP-13665.05.patch, HADOOP-13665.06.patch, HADOOP-13665.07.patch, HADOOP-13665.08.patch, HADOOP-13665.09.patch
>
>
> The current EC codec supports a single coder only (by default pure Java implementation). If the native coder is specified but is unavailable, it should fallback to pure Java implementation.
> One possible solution is to follow the convention of existing Hadoop native codec, such as transport encryption (see {{CryptoCodec.java}}). It supports fallback by specifying two or multiple coders as the value of property, and loads coders in order.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org