Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1A46F9BB1 for ; Fri, 9 Mar 2012 01:10:21 +0000 (UTC) Received: (qmail 2597 invoked by uid 500); 9 Mar 2012 01:10:20 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 2371 invoked by uid 500); 9 Mar 2012 01:10:20 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 2356 invoked by uid 99); 9 Mar 2012 01:10:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Mar 2012 01:10:20 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 09 Mar 2012 01:10:18 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 3481D102B8 for ; Fri, 9 Mar 2012 01:09:57 +0000 (UTC) Date: Fri, 9 Mar 2012 01:09:57 +0000 (UTC) From: "stack (Commented) (JIRA)" To: issues@hbase.apache.org Message-ID: <993338041.41884.1331255397216.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <600039225.39617.1331231520238.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HBASE-5541) Avoid holding the rowlock during HLog sync in HRegion.mutateRowWithLocks 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-5541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13225762#comment-13225762 ] stack commented on HBASE-5541: ------------------------------ Why we have another variable for saying if locked? Can't we ask the locked object if locked? {code} this.updatesLock.readLock().lock(); + locked = true; {code} this.updatesLock.readLock().lock(); returns a lock. Use that? Set it to null when unlocked? If non-null in finally, unlock it? Hmm... you are trying to make it same as doMiniBatchPut... ok. Ignore above. Could this patch not make it so doMiniBatchPut and the update to this method shared code? They seem pretty similar? This was done in a finally block: {code} - mvcc.completeMemstoreInsert(w); {code} Its ok that its no longer in a finally block? Could we skip out during the sync w/o updating this? I suppose thats ok... then these new edits won't be seen by a running scanner? If exception up in cp calling postdelete, postput, we'll rollback edits from memstore but mvcc has been advanced and won't go backward? I see you update mvcc if w != null... but maybe the update of mvcc should happen after call to cp both here and in the doMiniBatchPut? Otherwise +1 on commit > Avoid holding the rowlock during HLog sync in HRegion.mutateRowWithLocks > ------------------------------------------------------------------------ > > Key: HBASE-5541 > URL: https://issues.apache.org/jira/browse/HBASE-5541 > Project: HBase > Issue Type: Sub-task > Components: client, regionserver > Reporter: Lars Hofhansl > Assignee: Lars Hofhansl > Fix For: 0.94.0 > > Attachments: 5541-v2.txt, 5541.txt > > > Currently mutateRowsWithLocks holds the row lock while the HLog is sync'ed. > Similar to what we do in doMiniBatchPut, we should create the log entry with the lock held, but only sync the HLog after the lock is released, along with rollback logic in case the sync'ing fails. -- 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