Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2A745D216 for ; Wed, 8 Aug 2012 00:30:37 +0000 (UTC) Received: (qmail 55985 invoked by uid 500); 8 Aug 2012 00:30:35 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 55934 invoked by uid 500); 8 Aug 2012 00:30:35 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 55925 invoked by uid 99); 8 Aug 2012 00:30:35 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 08 Aug 2012 00:30:35 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=FSL_FREEMAIL_1,FSL_FREEMAIL_2,RCVD_IN_DNSWL_NONE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [98.138.91.73] (HELO nm25-vm0.bullet.mail.ne1.yahoo.com) (98.138.91.73) by apache.org (qpsmtpd/0.29) with SMTP; Wed, 08 Aug 2012 00:30:24 +0000 Received: from [98.138.90.51] by nm25.bullet.mail.ne1.yahoo.com with NNFMP; 08 Aug 2012 00:30:03 -0000 Received: from [98.138.89.169] by tm4.bullet.mail.ne1.yahoo.com with NNFMP; 08 Aug 2012 00:30:03 -0000 Received: from [127.0.0.1] by omp1025.mail.ne1.yahoo.com with NNFMP; 08 Aug 2012 00:30:03 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 20940.43707.bm@omp1025.mail.ne1.yahoo.com Received: (qmail 4140 invoked by uid 60001); 8 Aug 2012 00:30:02 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s1024; t=1344385802; bh=RB+IF/ZZtyY67iLoCMvqmk9vidiPjnx6Z1KvD/5nKsY=; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=GZ6JcAPMsUIljNpGZXeGoO/D35FipqoEkRexZ9LfN70WwkhyfSL02IWQ+Tw4pUbTHVu6FH29BJd9KMI1bkh+Ntw4rBR/4niJR+JIdw/akHSLjNr+YPco6Nw4fLB31CeHxCqG14zvKtXH2ntZjE3qrNiDeYiK2k2Nm3nmkMESgGo= DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:X-Mailer:References:Message-ID:Date:From:Reply-To:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=e8t8BY2aQPaRJiB15dy1APBF/vz055c0y7o4wImMKyg9PtWtPw3coSpFaFqNA3hzvHWXoFrH6IHXsjYO5C8U/srOrOA4lb0s4Wdmtd6uChe40xamJKwblBXbVzY5ekSi7NnC1W98mWGMQ1aH3UfYeYNrjcZdZDwchZ1TBEuAxq0=; X-YMail-OSG: 6L2M7CQVM1kpPxryLSP46cjqNaAq9FFa8ug2Dco1eV7ReyK I_QdNCn6QCMwqNPzFTEVw7Sr.HxoG.3.BE50bBa08h4J1Sob0ZmLCw5dH6L0 HRX0Q.ZLPuTEbAFx0eMhpCQVZWOWGUj8Juc04LmYIJfJxCRqIPdb_wXt7PSN cUfPExSXhjmiEPBz2Bym9kyzemzKLK7mBnp7DDOrHR4998yGFNxFmdUPJY20 5JTaV.qyQ3RasrJBgj0trOW84UwLdRLGZzj1iWD99wFpFJ8a5SpygKuA5shL Q6gtGdvCvXQP8Kw7il_YbxdRmkCdHN_F6k5HQZrPbhBRqUgra7Iwy1URcgql f03RG1te4qMOYYxieSvke3gNkazx3Yt..CsxzLbtyNZMGMOfFf2mHJfcy.qQ sK64IV7wP20V99csyIESrtX0XKEmb_mO5Bnn0sYr4FB09T71yUq1Fv4VYKDn P_m1hpIsBIqzW4O2a0DLFEgXXm7dlO8PQMQX37OAsTM4- Received: from [204.14.239.221] by web121702.mail.ne1.yahoo.com via HTTP; Tue, 07 Aug 2012 17:30:02 PDT X-Mailer: YahooMailWebService/0.8.120.356233 References: <1344354923.58744.YahooMailNeo@web121705.mail.ne1.yahoo.com> Message-ID: <1344385802.93213.YahooMailNeo@web121702.mail.ne1.yahoo.com> Date: Tue, 7 Aug 2012 17:30:02 -0700 (PDT) From: lars hofhansl Reply-To: lars hofhansl Subject: Re: CheckAndAppend Feature To: "user@hbase.apache.org" , lars hofhansl In-Reply-To: <1344354923.58744.YahooMailNeo@web121705.mail.ne1.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I filed HBASE-6522. It is a trivial change to make locks and leases available to coprocessors. So checkAndSet type operations can then be implemented via coprocessor endpoints: lock row, check, fail or update, unlock row. Since the patch is so simple I'll commit that soon (to 0.94.2 and 0.96) -- Lars ________________________________ From: lars hofhansl To: "user@hbase.apache.org" Sent: Tuesday, August 7, 2012 8:55 AM Subject: Re: CheckAndAppend Feature There is no such functionality currently, and there is no good way to simulate that. Currently that cannot even be done with a coprocessor endpoint, because region coprocessors have no way to create a region lock (just checked the code). (That is something we have to change I think - I will create an issue once the Jira system is back from the walk in the park). -- Lars ----- Original Message ----- From: Jerry Lam To: user Cc: Sent: Tuesday, August 7, 2012 8:22 AM Subject: CheckAndAppend Feature Hi HBase community: I checked the HTable API, it has checkAndPut and checkAndDelete but I'm looking for checkAndAppend. Is there a way to simulate similarly? For instance, I want to check the last 32 bytes of a value (let assume that it has 128 bytes in total) in a column before appending atomically some values into it. Thanks! Jerry