[ 
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)

Reply via email to