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 5E30EDFA3 for ; Tue, 9 Oct 2012 01:28:08 +0000 (UTC) Received: (qmail 24954 invoked by uid 500); 9 Oct 2012 01:28:08 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 24922 invoked by uid 500); 9 Oct 2012 01:28:08 -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 24909 invoked by uid 99); 9 Oct 2012 01:28:08 -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 01:28:08 +0000 Date: Tue, 9 Oct 2012 01:28:08 +0000 (UTC) From: "Sanjay Radia (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: <1558217496.12164.1349746088069.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=13472039#comment-13472039 ] Sanjay Radia commented on HDFS-3077: ------------------------------------ bq. Then, depending on which JNs are available during recovery, the prepareRecovery() call is different, and thus, we'd need different responses. It's not really simple to piggy-back the segment info on NewEpoch, because we don't yet know which segment is the one to be recovered (it may be some segment that is only available on one live node) Here is how I think it will work in this scenario: * NN after restart sends combined {{NewEpoch + PrepareRecovery}} ** JNs respond {{lastPromisedEpoch, highestSegmentTxid and highestTxid}} * NN then choses the segmentTxid and last Txid to recover to and sends accept {{epoch, highestSegmentTxid, highestTxid, master to recover from}} ** rest of the steps are same as your document. This combined requests works right? > 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