You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Tsz Wo Nicholas Sze (JIRA)" <ji...@apache.org> on 2014/10/21 03:16:34 UTC
[jira] [Resolved] (HDFS-5131) Need a DEFAULT-like pipeline recovery
policy that works for writers that flush
[ https://issues.apache.org/jira/browse/HDFS-5131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tsz Wo Nicholas Sze resolved HDFS-5131.
---------------------------------------
Resolution: Duplicate
Resolving this as a duplicate of HDFS-4257.
> Need a DEFAULT-like pipeline recovery policy that works for writers that flush
> ------------------------------------------------------------------------------
>
> Key: HDFS-5131
> URL: https://issues.apache.org/jira/browse/HDFS-5131
> Project: Hadoop HDFS
> Issue Type: Improvement
> Affects Versions: 2.0.6-alpha
> Reporter: Mike Percy
> Assignee: Tsz Wo Nicholas Sze
>
> The Hadoop 2 pipeline-recovery mechanism currently has four policies: DISABLE (never do recovery), NEVER (never do recovery unless client asks for it), ALWAYS (block until we have recovered the write pipeline to minimum replication levels), and DEFAULT (try to do ALWAYS, but use a heuristic to "give up" and allow writers to continue if not enough datanodes are available to recover the pipeline).
> The big problem with default is that it specifically falls back to ALWAYS behavior if a client calls hflush(). On its face, it seems like a reasonable thing to do, but in practice this means that clients like Flume (as well as, I assume, HBase) just block when the cluster is low on datanodes.
> In order to work around this issue, the easiest thing to do today is set the policy to NEVER when using Flume to write to the cluster. But obviously that's not ideal.
> I believe what clients like Flume need is an additional policy which essentially uses the heuristic logic used by DEFAULT even in cases where long-lived writers call hflush().
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)