hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8292) TableMapping does not refresh when topology is updated
Date Wed, 09 May 2012 01:19:48 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-8292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13271000#comment-13271000

Todd Lipcon commented on HADOOP-8292:

Few quick notes (didn't look in serious detail yet):
- is it OK to be doing file system access while holding this lock, and in the "hot path" of
resolve? I worry that this might slow down client requests, for example.
- I think we should avoid reading the file if the modification time is within the last couple
of seconds -- with some editors and config management systems, updating a file might temporarily
leave it in an empty state before re-filling it again with the new data. Well behaved systems
won't do that, but I think it's better for us to be resilient to it than for us to end up
loading an empty topology mapping.
- clearCache() is called from resolve() without the lock held. That might cause multiple threads
to call clear() on a map at once, which might result in an exception or something.

How does this interact with the HDFS topology code which needs to check when a cluster changes
from single-rack to multi-rack? When a node's topology changes, don't we need to re-check
replication policies for all the blocks, etc? Maybe this isn't a new issue, but it's certainly
> TableMapping does not refresh when topology is updated
> ------------------------------------------------------
>                 Key: HADOOP-8292
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8292
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.0.0
>            Reporter: Philip Zeyliger
>            Assignee: Alejandro Abdelnur
>         Attachments: HADOOP-8292.patch
> HADOOP-7030 introduced TableMapping, an implementation of DNSToSwitchMapping which uses
a file to map from IPs/hosts to their racks.  It's intended to replace ScriptBasedMapping
for cases where the latter was just a complicated way of looking up the rack in a file.
> Though there was discussion of it on the JIRA, the TableMapping implementation is not
'refreshable'.  i.e., if you want to add a host to your cluster, and that host wasn't in the
topology file to begin with, it will never be added.
> TableMapping should refresh, either based on a command that can be executed, or, perhaps,
if the file on disk changes.
> I'll also point out that TableMapping extends CachedDNSToSwitchMapping, but, since it
does no refreshing, I don't see what the caching gets you: I think the cache ends up being
a second copy of the underlying map, always.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message