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 82770704B for ; Fri, 30 Sep 2011 05:03:11 +0000 (UTC) Received: (qmail 53864 invoked by uid 500); 30 Sep 2011 05:03:10 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 53725 invoked by uid 500); 30 Sep 2011 05:03:09 -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 53694 invoked by uid 99); 30 Sep 2011 05:03:08 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Sep 2011 05:03:08 +0000 X-ASF-Spam-Status: No, hits=-2000.5 required=5.0 tests=ALL_TRUSTED,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, 30 Sep 2011 05:03:07 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id B9E172A1A92 for ; Fri, 30 Sep 2011 05:02:46 +0000 (UTC) Date: Fri, 30 Sep 2011 05:02:46 +0000 (UTC) From: "jiraposter@reviews.apache.org (Commented) (JIRA)" To: issues@hbase.apache.org Message-ID: <1629551905.10468.1317358966763.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <1217369738.13437.1317058406739.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Commented] (HBASE-4487) The increment operation can release the rowlock before sync-ing the Hlog 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/HBASE-4487?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13117885#comment-13117885 ] jiraposter@reviews.apache.org commented on HBASE-4487: ------------------------------------------------------ ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2116/#review2206 ----------------------------------------------------------- /src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java Am not sure. Just to clarify Is this check not needed here then? - ramkrishna On 2011-09-29 19:27:36, Dhruba Borthakur wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/2116/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-09-29 19:27:36) bq. bq. bq. Review request for hbase and Ted Yu. bq. bq. bq. Summary bq. ------- bq. bq. The increment operation releases the rowlock before doing the sync to the HLog. This improves performance of increments on hot rows. Introduced method HLog.appendNoSync() that returns a txid. The increment method then release the rowlock and invokes HLog.sync(txid). The HLog.sync(txid) returns only if all the transactions upto the one identified by that txid has been successfully sycned to HDFS. bq. bq. There is a single test TestIncrement that creates a 100 threads and ensures that all the concurrent increments match the final expected result. There is a benchmark TestHLogBench that measures the performance of the appendNoSync call. bq. bq. bq. This addresses bug HBASE-4487. bq. https://issues.apache.org/jira/browse/HBASE-4487 bq. bq. bq. Diffs bq. ----- bq. bq. /src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1177401 bq. /src/main/java/org/apache/hadoop/hbase/regionserver/wal/HLog.java 1177401 bq. /src/test/java/org/apache/hadoop/hbase/regionserver/TestIncrement.java PRE-CREATION bq. /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLogBench.java PRE-CREATION bq. /src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALActionsListener.java 1177401 bq. /src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSourceManager.java 1177401 bq. bq. Diff: https://reviews.apache.org/r/2116/diff bq. bq. bq. Testing bq. ------- bq. bq. All unit tests pass now (expect TestDistributedLogSplitting, TestRollingRestart, TestHTablePool), but I am seeing the same test to fail on trunk, so these failures do not seem to be related to this patch. bq. bq. bq. Thanks, bq. bq. Dhruba bq. bq. > The increment operation can release the rowlock before sync-ing the Hlog > ------------------------------------------------------------------------ > > Key: HBASE-4487 > URL: https://issues.apache.org/jira/browse/HBASE-4487 > Project: HBase > Issue Type: Improvement > Reporter: dhruba borthakur > Assignee: dhruba borthakur > Attachments: appendNoSync4.txt, appendNoSync5.txt, appendNoSync6.txt > > > This allows for better throughput when there are hot rows.I have seen this change make a single row update improve from 400 increments/sec/server to 4000 increments/sec/server. -- 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