On Wed, Feb 20, 2013 at 4:29 PM, Chris Douglas <cdoug...@apache.org> wrote:

> Given that HDFS-347 is a strictly better approach, once committed,
> there will be ample motivation to add support for other OSes and
> remove HDFS-2246 entirely. Nobody is confused about this. There's
> ample precedent for retaining obscure, clumsy features as a temporary
> stop-gap (e.g., service plugins, opaque blobs of bytes in Tasks,
> configurable combiner semantics). What's the virtue of insisting on
> removing this? Unless there was a lot of follow-on work, HDFS-2246
> doesn't look like a lot of code...
>

Though it's not a ton of code, I think that having to support a more
complex fallback path (i.e. try the HDFS-347 method, then fall back to
trying the HDFS-2246 method, then fall back to doing normal TCP reads to
the local DN) will make the code quite a bit hairier for little added
benefit.

How about this proposal for a compromise:

Given that the only substantive concerns with HDFS-347 seem to be about
Windows support for local reads, for now we only merge this branch to
trunk. Support for doing HDFS-2246 style local reads will be removed from
trunk, but retained in branch-2 for now. Only once someone adds support for
doing HDFS-347 style local reads which work on Windows will we consider
merging HDFS-347 to branch-2. This should ensure that there's no feature
regression on branch-2, but also means that we will not need to maintain
the HDFS-2246 code path alongside the HDFS-347 code path indefinitely.

--
Aaron T. Myers
Software Engineer, Cloudera

Reply via email to