Return-Path: Delivered-To: apmail-hadoop-hbase-issues-archive@minotaur.apache.org Received: (qmail 98148 invoked from network); 14 May 2010 09:40:17 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 14 May 2010 09:40:17 -0000 Received: (qmail 83866 invoked by uid 500); 14 May 2010 09:40:17 -0000 Delivered-To: apmail-hadoop-hbase-issues-archive@hadoop.apache.org Received: (qmail 83828 invoked by uid 500); 14 May 2010 09:40:16 -0000 Mailing-List: contact hbase-issues-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list hbase-issues@hadoop.apache.org Received: (qmail 83820 invoked by uid 99); 14 May 2010 09:40:15 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 May 2010 09:40:15 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 May 2010 09:40:13 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o4E9doql013233 for ; Fri, 14 May 2010 09:39:51 GMT Message-ID: <32875387.40921273829990311.JavaMail.jira@thor> Date: Fri, 14 May 2010 05:39:50 -0400 (EDT) From: "Cosmin Lehene (JIRA)" To: hbase-issues@hadoop.apache.org Subject: [jira] Commented: (HBASE-2437) Refactor HLog splitLog MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HBASE-2437?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12867455#action_12867455 ] Cosmin Lehene commented on HBASE-2437: -------------------------------------- I'm out of office. I'll get back on the 18th. > Refactor HLog splitLog > ---------------------- > > Key: HBASE-2437 > URL: https://issues.apache.org/jira/browse/HBASE-2437 > Project: Hadoop HBase > Issue Type: Bug > Components: master > Affects Versions: 0.21.0 > Reporter: Cosmin Lehene > Assignee: Cosmin Lehene > Fix For: 0.21.0 > > Attachments: HBASE-2437_for_HBase-0.21_with_unit_tests_for_HDFS-0.21.patch > > Original Estimate: 120h > Remaining Estimate: 120h > > the HLog.splitLog got really long and complex and hard to verify for correctness. > I started to refactor it and also ported changes from hbase-2337 that deals with premature deletion of log files in case of errors. Further improvements will be possible, however the scope of this issue is to clean the code and make it behave correctly (i.e. not lose any edits) > Added a suite of unit tests that might be ported to 0.20 as well. > Added a setting (hbase.skip.errors - feel free to suggest a better name) that, when set to false will make the process less tolerant to failures or corrupted files: in case a log file is corrupted or an error stops the process from consistently splitting the log, will abort the entire operation to avoid losing any edits. When hbase.skip.errors is on any corrupted files will be partially parsed and then moved to the corrupted logs archive (see hbase-2337). > Like hbase-2337 the splitLog method will first split all the logs and then proceed to archive them. If any splitted log file (oldlogfile.log) that is the result of an earlier splitLog attempt is found in the region directory, it will be deleted - this is safe since we won't move the original log files until the splitLog process completes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.