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 BE0B7200D5B for ; Wed, 13 Dec 2017 10:01:04 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id BAD18160C23; Wed, 13 Dec 2017 09:01:04 +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 0EC36160C16 for ; Wed, 13 Dec 2017 10:01:03 +0100 (CET) Received: (qmail 79973 invoked by uid 500); 13 Dec 2017 09:01:03 -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 79962 invoked by uid 99); 13 Dec 2017 09:01:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 13 Dec 2017 09:01:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 9D6CAC46B7 for ; Wed, 13 Dec 2017 09:01:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.211 X-Spam-Level: X-Spam-Status: No, score=-99.211 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id PItDZVX4F36h for ; Wed, 13 Dec 2017 09:01:01 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 3DCF05F19D for ; Wed, 13 Dec 2017 09:01:01 +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 755C7E0F30 for ; Wed, 13 Dec 2017 09:01:00 +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 224C3212F5 for ; Wed, 13 Dec 2017 09:01:00 +0000 (UTC) Date: Wed, 13 Dec 2017 09:01:00 +0000 (UTC) From: "Anoop Sam John (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-19496) Reusing the ByteBuffer in rpc layer corrupt the ServerLoad and RegionLoad MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 13 Dec 2017 09:01:04 -0000 [ https://issues.apache.org/jira/browse/HBASE-19496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16288912#comment-16288912 ] Anoop Sam John commented on HBASE-19496: ---------------------------------------- bq.Rpc server has no idea about how server use the pb object even if we parse the method from request. Cloneing all request data in rpc layer may make server burn out. I prefer to assume all pb object passed from rpc layer is modifiable, and rs/master should do the clone if they want to keep the pb object after the call is done. Ya what I was saying is apart from the mutation requests, others should not use the BBpool. Ya difficult.. It make sense to make sure when we keep the PB object, clone it. For Cells this is what we do. By default we will copy to MSLAB. If not, we are cloning then while adding to CSLM. I did not say it 1st as the code of cloning will be distributed across the code base and we may miss some ! But this is the best way considering the perf aspects. bq.HM can host the normal region, so I think the BBpool is still useful for HM. By default it is not there. No regions in HM. So by default we can make it off is what I was thinking. Where as in RS this is by default ON. May be do as a subtask also ok. I can raise one and work with that if u are ok. > Reusing the ByteBuffer in rpc layer corrupt the ServerLoad and RegionLoad > ------------------------------------------------------------------------- > > Key: HBASE-19496 > URL: https://issues.apache.org/jira/browse/HBASE-19496 > Project: HBase > Issue Type: Bug > Reporter: Chia-Ping Tsai > Assignee: Chia-Ping Tsai > Priority: Blocker > Fix For: 2.0.0-beta-1 > > Attachments: HBASE-19496.wip.patch > > > {{ServerLoad}} and {{RegionLoad}} store the pb object internally but the bytebuffer of pb object may be reused in rpc layer. Hence, the {{ServerLoad}} and {{RegionLoad}} which saved by {{HMaster}} will be corrupted if the bytebuffer backed is modified. > This issue doesn't happen on branch-1. > # netty server was introduced in 2.0 (see HBASE-17263) > # reusing bytebuffer to read RPC requests was introduced in 2.0 (see HBASE-15788) -- This message was sent by Atlassian JIRA (v6.4.14#64029)