Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B6286182F5 for ; Thu, 18 Feb 2016 20:03:02 +0000 (UTC) Received: (qmail 92196 invoked by uid 500); 18 Feb 2016 20:03:02 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 92105 invoked by uid 500); 18 Feb 2016 20:03:02 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 92093 invoked by uid 99); 18 Feb 2016 20:03:01 -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; Thu, 18 Feb 2016 20:03:01 +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 5AB261A09B3 for ; Thu, 18 Feb 2016 20:03:01 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.802 X-Spam-Level: X-Spam-Status: No, score=-0.802 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com 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 mTiVVWCZUJjY for ; Thu, 18 Feb 2016 20:03:00 +0000 (UTC) Received: from mail-pa0-f51.google.com (mail-pa0-f51.google.com [209.85.220.51]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 1BE4C5F5CB for ; Thu, 18 Feb 2016 20:03:00 +0000 (UTC) Received: by mail-pa0-f51.google.com with SMTP id ho8so37295294pac.2 for ; Thu, 18 Feb 2016 12:03:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:content-type:content-transfer-encoding:mime-version:subject :message-id:date:references:in-reply-to:to; bh=JSePQaOaqIl66WEX0H+0Bred/pbV6p70jDOTzz8wLwA=; b=WWw+KfuL5B5H7qWMr21lA4921/On+MIx3RmZZ1EF6Yivqa5YUasG0nrt0AUgKrT80G btUSVzj87Y1ewwnm09xs7EMds7anhY3N9r8kyVTfzTGCpKEnVA42srnEPJNsuwOOjcYd 5d0NY+ZbAQA39J5aZ0GJ2EIz7D/9xg4shO8SaFsemqINSFnm9lGBvtXeyLcsrbygbYZU OKXigY/wF2juMnTpsK2rmiLITRLgSyTJa/ZlAI9syl1HIVzwtjCXaZS3G5KS5xNHa1pC ENiP2Id0DWWQo1oRtM86RpSi5KiqXokM3kFQtbBfgFwR5IVpl4aY4JMOVJVrqQzOMRF/ yqAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:content-type:content-transfer-encoding :mime-version:subject:message-id:date:references:in-reply-to:to; bh=JSePQaOaqIl66WEX0H+0Bred/pbV6p70jDOTzz8wLwA=; b=Q/qq8s5tQrI72ubHMI4OmQqFYCXrTRH0FZWq85/0+piEI1TlIa4LbcQ3Eo8ufEDhWB W3+ZyLPWd4mvMBTseO/JHEatqbWpWCQo+9DEWq9uU8BQdOjbisna9GkQp0uXA4kyotJ3 E6RWnEZdkghRNOfgkQUgcnFzkP8fN9IiTeXXZUsmCABeVvjEyZKyAvjVFHtVEEQX9upM hvN4rsNS2vWd0fSgl+elideL2XWLBVdr0giAzzgvX/69jJ3nFZ8rwDIM7oymdE9FShEz pF+xc2+S6VbRCzsJ0ET6uiSn/P9wbOtdXCjQrnvZTGE86mJdLfxN2FvyXdFAjGFQX3hd d1bg== X-Gm-Message-State: AG10YOQp4L6rMdakeWYdZlEqulZERTMPYzIC8Mo7NZGvE7ue6GSgID67ha1Z4LF8fU6tFg== X-Received: by 10.66.222.129 with SMTP id qm1mr12710918pac.22.1455825779287; Thu, 18 Feb 2016 12:02:59 -0800 (PST) Received: from [10.72.95.62] ([166.170.44.162]) by smtp.gmail.com with ESMTPSA id t12sm12229769pfa.54.2016.02.18.12.02.57 for (version=TLSv1/SSLv3 cipher=OTHER); Thu, 18 Feb 2016 12:02:57 -0800 (PST) From: Andrew Purtell Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (1.0) Subject: Re: DISCUSSION: A tightening of the CP contract in hbase 2.0.0 Message-Id: <329EAB96-E8E6-4405-80C1-674BC7970E8E@gmail.com> Date: Thu, 18 Feb 2016 12:02:56 -0800 References: In-Reply-To: To: dev@hbase.apache.org X-Mailer: iPhone Mail (13D15) > In HBase 2.0, CPs can read Cells passed them on a CP hook invocation but t= hey must not retain references beyond the life of the invocation; they must c= opy Cells if they intend to retain them beyond the invocation, pass the Cell= s off to upper tiers, or return them otherwise to clients. IMO, this is what we should expect already and can document ASAP.=20 > On Feb 18, 2016, at 11:09 AM, Stack wrote: >=20 > In HBase 2.0, CPs can read Cells passed them on a CP hook invocation but > they must not retain references beyond the life of the invocation; they > must copy Cells if they intend to retain them beyond the invocation, pass > the Cells off to upper tiers, or return them otherwise to clients. >=20 > The above stricture is explicitly put on CPs going forward as it can no > longer be presumed Cells are self-contained. In particular, Cells may not > 'own' their memory but rather just referencing a backing, memory block. > Internal reference-counting to which CPs cannot be made privvy determines > when it is safe to let go of the backing memory. If a CP retains Cell > references beyond an invocation, it may find that a later read returns > unexpected results. >=20 > For obvious reasons, HBase cannot pass CPs Cell copies on each invocation.= >=20 > Are you all good with this? >=20 > If so, we'll add the above to Interfaces and message it to downstreamers, > etc. >=20 > Thanks, > Anoop, Ram, and St.Ack