Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A3017200C0E for ; Wed, 18 Jan 2017 05:10:35 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id A19B8160B52; Wed, 18 Jan 2017 04:10:35 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id EA5D4160B46 for ; Wed, 18 Jan 2017 05:10:34 +0100 (CET) Received: (qmail 57670 invoked by uid 500); 18 Jan 2017 04:10:34 -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 57658 invoked by uid 99); 18 Jan 2017 04:10:33 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2017 04:10:33 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 3A172181A91 for ; Wed, 18 Jan 2017 04:10:33 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.999 X-Spam-Level: X-Spam-Status: No, score=-1.999 tagged_above=-999 required=6.31 tests=[KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id QZUL9ALd-g4N for ; Wed, 18 Jan 2017 04:10:32 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 365AD5F576 for ; Wed, 18 Jan 2017 04:10:32 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id CE60AE8669 for ; Wed, 18 Jan 2017 04:10:29 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 824AE25289 for ; Wed, 18 Jan 2017 04:10:27 +0000 (UTC) Date: Wed, 18 Jan 2017 04:10:27 +0000 (UTC) From: "Duo Zhang (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-17045) Unify the implementation of small scan and regular scan MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 18 Jan 2017 04:10:35 -0000 [ https://issues.apache.org/jira/browse/HBASE-17045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15827402#comment-15827402 ] Duo Zhang commented on HBASE-17045: ----------------------------------- We reuse the Scan object across different scan operations in the UT, and we may modify the Scan object during scan. The problem is gone after I modify the UT to always use a new Scan object every time. The root cause is that, the logic of the while loop in ClientScanner.loadCache is broken. We may still issue a next request even if the moreResultsInRegion is false. And now we will close the scanner automatically when moreResultsInRegion is false at RS side, so we will get an UnknownScannerException and reset the startRow of the Scan object and open a new scanner. If later we use this Scan object to get a scanner then we can not get the results we want as the startRow is changed. Will try to fix this when porting this feature to the sync client. [~stack] [~enis] Any concerns? Thanks. > Unify the implementation of small scan and regular scan > ------------------------------------------------------- > > Key: HBASE-17045 > URL: https://issues.apache.org/jira/browse/HBASE-17045 > Project: HBase > Issue Type: Sub-task > Components: Client, scan > Affects Versions: 2.0.0 > Reporter: Duo Zhang > Assignee: Duo Zhang > Fix For: 2.0.0 > > Attachments: HBASE-17045.patch, HBASE-17045-v1.patch, HBASE-17045-v2.patch, HBASE-17045-v3.patch, HBASE-17045-v4.patch > > > See [~enis]'s comment in HBASE-16838 > https://issues.apache.org/jira/browse/HBASE-16838?focusedCommentId=15637803&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15637803 > But there is another scenario that we need small scan is that, we do not know the stop row but we only want a small set of results. For example, in the implementation of region locator, we will use small scan and set caching to 1 as we only need one row. > So I think we need to add a new option(maybe called limit?) for the scan object, and deprecate the small option. And the server side modification should also be committed to branch-1 to simplify the logic of async client in 2.0. -- This message was sent by Atlassian JIRA (v6.3.4#6332)