Return-Path: X-Original-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Delivered-To: apmail-hadoop-hdfs-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id C397CDD76 for ; Tue, 9 Oct 2012 03:22:04 +0000 (UTC) Received: (qmail 84360 invoked by uid 500); 9 Oct 2012 03:22:04 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 84321 invoked by uid 500); 9 Oct 2012 03:22:04 -0000 Mailing-List: contact hdfs-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hdfs-issues@hadoop.apache.org Delivered-To: mailing list hdfs-issues@hadoop.apache.org Received: (qmail 84254 invoked by uid 99); 9 Oct 2012 03:22:03 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Oct 2012 03:22:03 +0000 Date: Tue, 9 Oct 2012 03:22:03 +0000 (UTC) From: "Sanjay Radia (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: <1632964540.12533.1349752923102.JavaMail.jiratomcat@arcas> In-Reply-To: <4335590.3899.1331577879305.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HDFS-3077) Quorum-based protocol for reading and writing edit logs MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HDFS-3077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13472099#comment-13472099 ] Sanjay Radia commented on HDFS-3077: ------------------------------------ bq. Currently, we only run recovery on the highest txid segment at startup. This means that every segment is stored on at least a quorum of nodes. But it does not mean that previous segments get replicated to all available nodes. This wasn't obvious from HDFS-3077 document and a limitation of HDFS-3077; don't you agree? Segment holes is operationally messy when manual recovery is necessary in the field. Do the following two suggestions make sense? # When a JN joins, it must have sync'ed all previous segments before accepting new writes. # At recovery, sync missing segments (due to 1, a JN may miss several segments but the set of segments is all at the end - there cannot be holes.) bq. If we wanted to improve this[deal with missing segments], however, ... If we merged NewEpoch and PrepareRecovery, that wouldn't be possible. Todd the way segments are playing out in our protocol is scaring me; Zookeeper's ZAB avoids all this - they recover all previous transactions. It seems that segments have complicated our protocol significantly. With the additional subtleties you have pointed out I am worried only a few will be able to maintain this code. > Quorum-based protocol for reading and writing edit logs > ------------------------------------------------------- > > Key: HDFS-3077 > URL: https://issues.apache.org/jira/browse/HDFS-3077 > Project: Hadoop HDFS > Issue Type: New Feature > Components: ha, name-node > Reporter: Todd Lipcon > Assignee: Todd Lipcon > Fix For: QuorumJournalManager (HDFS-3077) > > Attachments: hdfs-3077-partial.txt, hdfs-3077-test-merge.txt, hdfs-3077.txt, hdfs-3077.txt, hdfs-3077.txt, hdfs-3077.txt, hdfs-3077.txt, hdfs-3077.txt, hdfs-3077.txt, qjournal-design.pdf, qjournal-design.pdf, qjournal-design.pdf, qjournal-design.pdf, qjournal-design.pdf, qjournal-design.pdf, qjournal-design.tex, qjournal-design.tex > > > Currently, one of the weak points of the HA design is that it relies on shared storage such as an NFS filer for the shared edit log. One alternative that has been proposed is to depend on BookKeeper, a ZooKeeper subproject which provides a highly available replicated edit log on commodity hardware. This JIRA is to implement another alternative, based on a quorum commit protocol, integrated more tightly in HDFS and with the requirements driven only by HDFS's needs rather than more generic use cases. More details to follow. -- 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