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 9C403E119 for ; Tue, 4 Dec 2012 00:59:58 +0000 (UTC) Received: (qmail 96530 invoked by uid 500); 4 Dec 2012 00:59:58 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 96490 invoked by uid 500); 4 Dec 2012 00:59:58 -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 96482 invoked by uid 99); 4 Dec 2012 00:59:58 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Dec 2012 00:59:58 +0000 Date: Tue, 4 Dec 2012 00:59:58 +0000 (UTC) From: "Liyin Tang (JIRA)" To: issues@hbase.apache.org Message-ID: <1584281581.56647.1354582798249.JavaMail.jiratomcat@arcas> In-Reply-To: <9881447.56316.1354580758357.JavaMail.jiratomcat@arcas> Subject: [jira] [Updated] (HBASE-7266) [89-fb] Using pread for non-compaction read request 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-7266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Liyin Tang updated HBASE-7266: ------------------------------ Description: There are 2 kinds of read operations in HBase: pread and seek+read. Pread, positional read, is stateless and create a new connection between the DFSClient and DataNode for each operation. While seek+read is to seek to a specific postion and prefetch blocks from data nodes. The benefit of seek+read is that it will cache the prefetch result but the downside is it is stateful and needs to synchronized. So far, both compaction and scan are using seek+read, which caused some resource contention. So using the pread for the scan request can avoid the resource contention. In addition, the region server is able to do the prefetch for the scan request (HBASE-6874) so that it won't be necessary to let the DFSClient to prefetch the data any more. I will run through the scan benchmark (with no block cache) with verify the performance. was: There are 2 kinds of read operations in HBase: pread and seek+read. Pread, positional read, is stateless and create a new connection between the DFSClient and DataNode for each operation. While seek+read is to seek to a specific postion and prefetch blocks from data nodes. The benefit of seek+read is that it will cache the prefetch result but the downside is it is stateful and needs to synchronized. So far, both compaction and scan are using pread, which caused some resource contention. So using the pread for the scan request can avoid the resource contention. In addition, the region server is able to do the prefetch for the scan request (HBASE-6874) so that it won't be necessary to let the DFSClient to prefetch the data any more. I will run through the scan benchmark (with no block cache) with verify the performance. > [89-fb] Using pread for non-compaction read request > --------------------------------------------------- > > Key: HBASE-7266 > URL: https://issues.apache.org/jira/browse/HBASE-7266 > Project: HBase > Issue Type: Improvement > Reporter: Liyin Tang > > There are 2 kinds of read operations in HBase: pread and seek+read. > Pread, positional read, is stateless and create a new connection between the DFSClient and DataNode for each operation. While seek+read is to seek to a specific postion and prefetch blocks from data nodes. The benefit of seek+read is that it will cache the prefetch result but the downside is it is stateful and needs to synchronized. > So far, both compaction and scan are using seek+read, which caused some resource contention. So using the pread for the scan request can avoid the resource contention. In addition, the region server is able to do the prefetch for the scan request (HBASE-6874) so that it won't be necessary to let the DFSClient to prefetch the data any more. > I will run through the scan benchmark (with no block cache) with verify the performance. -- 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