[
https://issues.apache.org/jira/browse/HBASE-5259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13195061#comment-13195061
]
Liyin Tang commented on HBASE-5259:
-----------------------------------
Hi Ted,
I totally understand your concern and appreciate your feedback.
It would be nice to fault tolerant all kinds of DNS server failures, which
could be transient failures, loss of PTR or DNS service crash. The tradeoff is
to select a most frequent happening failure case and try to tolerate it
gracefully. In my perspective, for some large impact failures such as DNS
server crash, sometimes it would be better to fire alarm and try to fix it as
soon as possible. Also for minor impact failures, it would be great to recovery
it naturally. For others, it would be fine to pay some cost.
If you believe the loss of PTR record is the normal failure case in your
systems, I would encourage to open a new jira to handle it properly across all
the code base of HBase, DFS and MapReduce. I do believe we need a better fault
tolerant policy across all these dependent components.
> Normalize the RegionLocation in TableInputFormat by the reverse DNS lookup.
> ---------------------------------------------------------------------------
>
> Key: HBASE-5259
> URL: https://issues.apache.org/jira/browse/HBASE-5259
> Project: HBase
> Issue Type: Improvement
> Reporter: Liyin Tang
> Assignee: Liyin Tang
> Attachments: D1413.1.patch, D1413.1.patch, D1413.1.patch,
> D1413.1.patch, D1413.2.patch, D1413.2.patch, D1413.2.patch, D1413.2.patch,
> D1413.3.patch, D1413.3.patch, D1413.3.patch, D1413.3.patch
>
>
> Assuming the HBase and MapReduce running in the same cluster, the
> TableInputFormat is to override the split function which divides all the
> regions from one particular table into a series of mapper tasks. So each
> mapper task can process a region or one part of a region. Ideally, the mapper
> task should run on the same machine on which the region server hosts the
> corresponding region. That's the motivation that the TableInputFormat sets
> the RegionLocation so that the MapReduce framework can respect the node
> locality.
> The code simply set the host name of the region server as the
> HRegionLocation. However, the host name of the region server may have
> different format with the host name of the task tracker (Mapper task). The
> task tracker always gets its hostname by the reverse DNS lookup. And the DNS
> service may return different host name format. For example, the host name of
> the region server is correctly set as a.b.c.d while the reverse DNS lookup
> may return a.b.c.d. (With an additional doc in the end).
> So the solution is to set the RegionLocation by the reverse DNS lookup as
> well. No matter what host name format the DNS system is using, the
> TableInputFormat has the responsibility to keep the consistent host name
> format with the MapReduce framework.
--
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