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 EEE13D0F6 for ; Wed, 25 Jul 2012 17:28:37 +0000 (UTC) Received: (qmail 76537 invoked by uid 500); 25 Jul 2012 17:28:37 -0000 Delivered-To: apmail-hadoop-hdfs-issues-archive@hadoop.apache.org Received: (qmail 76499 invoked by uid 500); 25 Jul 2012 17:28:37 -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 76459 invoked by uid 99); 25 Jul 2012 17:28:37 -0000 Received: from issues-vm.apache.org (HELO issues-vm) (140.211.11.160) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Jul 2012 17:28:37 +0000 Received: from isssues-vm.apache.org (localhost [127.0.0.1]) by issues-vm (Postfix) with ESMTP id 437AC140B94 for ; Wed, 25 Jul 2012 17:28:37 +0000 (UTC) Date: Wed, 25 Jul 2012 17:28:37 +0000 (UTC) From: "Chao Shi (JIRA)" To: hdfs-issues@hadoop.apache.org Message-ID: <684702048.102039.1343237317286.JavaMail.jiratomcat@issues-vm> 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=13422432#comment-13422432 ] Chao Shi commented on HDFS-3077: -------------------------------- Hi Todd, It's really cool that you're implementing a quorum-based journaling mechanism without extra dependencies. I just read the design doc and some pieces of your code. I feel that we can throw a special kind of fatal exception rather than a ordinary IOException, if any inconsistent states are found (e.g. a JN's epoch > QJM's epoch). A fatal exception means that QJM must immediately stop its work. This may be caused by mis-configuration or software bugs. Because that journal is so critical to HDFS clusters, we should try the best to detect any possible mistakes/bugs. Besides that, I also suggest to store the last seen txid along with the epoch for each JN (maybe periodically), so that txid never decrease and we can have a double check for that. Because the algorithm to sync unclosed log section is complex, it would be nice to have such a simple approach to verify it. > 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.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 > > > 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira