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 EDCFE200C7D for ; Tue, 16 May 2017 11:04:11 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id EC99C160BC9; Tue, 16 May 2017 09:04:11 +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 3FCD9160B9D for ; Tue, 16 May 2017 11:04:11 +0200 (CEST) Received: (qmail 77037 invoked by uid 500); 16 May 2017 09:04:08 -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 77014 invoked by uid 99); 16 May 2017 09:04:08 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 May 2017 09:04:08 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 684261AFDBB for ; Tue, 16 May 2017 09:04:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id uZA1zGo6hwll for ; Tue, 16 May 2017 09:04:07 +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 39FDE5FE31 for ; Tue, 16 May 2017 09:04:06 +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 970B4E036E for ; Tue, 16 May 2017 09:04:05 +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 70B4C243B8 for ; Tue, 16 May 2017 09:04:04 +0000 (UTC) Date: Tue, 16 May 2017 09:04:04 +0000 (UTC) From: "Duo Zhang (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (HBASE-18055) Release HFileBlocks before calling shipped when switching from pread to stream causes rpc return value corruption MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 16 May 2017 09:04:12 -0000 [ https://issues.apache.org/jira/browse/HBASE-18055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang updated HBASE-18055: ------------------------------ Assignee: Duo Zhang (was: ramkrishna.s.vasudevan) Status: Patch Available (was: Open) > Release HFileBlocks before calling shipped when switching from pread to stream causes rpc return value corruption > ----------------------------------------------------------------------------------------------------------------- > > Key: HBASE-18055 > URL: https://issues.apache.org/jira/browse/HBASE-18055 > Project: HBase > Issue Type: Bug > Components: regionserver, Scanners > Affects Versions: 2.0.0 > Reporter: ramkrishna.s.vasudevan > Assignee: Duo Zhang > Fix For: 2.0.0 > > Attachments: HBASE-18055.patch > > > In HBASE-17917 tries to switch from pread to stream read when a specific size of bytes are read. So in order to switch over, it closes the existing scanners and creates a new scanners with pread=false. > When we close the exisitng scanners - if the blocks are served from offheap cache we will decrement the ref count on those blocks and if it becomes zero we make the block ready for eviction. Then there is a chance that the result could be corrupted if new blocks occupy the cache. So the expectation was that till the RPC call completes the response we will hold on to the blocks that are referred by the scan. (except the last one). So trying to switch over to stream read will break this expectation and hence TestBlockEvictionfromclient fails. -- This message was sent by Atlassian JIRA (v6.3.15#6346)