You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Todd Lipcon (JIRA)" <ji...@apache.org> on 2012/09/07 05:45:08 UTC
[jira] [Updated] (HDFS-3901) QJM: send 'heartbeat' messages to JNs
even when they are out-of-sync
[ https://issues.apache.org/jira/browse/HDFS-3901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Todd Lipcon updated HDFS-3901:
------------------------------
Attachment: hdfs-3901.txt
Attached patch implements the improvement as described. I also cleaned up the display on the web UI and included a time-based lag measurement instead of simply the transaction-based. This way monitoring software can have reasonable user-understandable defaults (eg "alert if one of the loggers is more than 1 minute behind") without having to know the transaction rate of the individual cluster.
In addition to the modified unit test, I also ran this on a cluster and verified that the web UI readouts were reasonable. kill -STOP of one JN caused that node's lag readout to increase steadily, and when I kill -CONTed it, it slowly dropped back down to 0 as it caught up.
> QJM: send 'heartbeat' messages to JNs even when they are out-of-sync
> --------------------------------------------------------------------
>
> Key: HDFS-3901
> URL: https://issues.apache.org/jira/browse/HDFS-3901
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Affects Versions: QuorumJournalManager (HDFS-3077)
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Attachments: hdfs-3901.txt
>
>
> Currently, if one of the JNs has fallen out of sync with the writer (eg because it went down), it will be marked as such until the next log roll. This causes the writer to no longer send any RPCs to it. This means that the JN's metrics will no longer reflect up-to-date information on how far laggy they are.
> This patch will introduce a heartbeat() RPC that has no effect except to update the JN's view of the latest committed txid. When the writer is talking to an out-of-sync logger, it will send these heartbeat messages once a second.
> In a future patch we can extend the heartbeat functionality so that NNs periodically check their connections to JNs if no edits arrive, such that a fenced NN won't accidentally continue to serve reads indefinitely.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira