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