Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CEE2910C54 for ; Wed, 15 Jan 2014 18:51:38 +0000 (UTC) Received: (qmail 91387 invoked by uid 500); 15 Jan 2014 18:51:32 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 91256 invoked by uid 500); 15 Jan 2014 18:51:30 -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 91162 invoked by uid 99); 15 Jan 2014 18:51:28 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 15 Jan 2014 18:51:28 +0000 Date: Wed, 15 Jan 2014 18:51:28 +0000 (UTC) From: "Andrew Purtell (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (HBASE-10322) Strip tags from KV while sending back to client on reads MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-10322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13872415#comment-13872415 ] Andrew Purtell edited comment on HBASE-10322 at 1/15/14 6:50 PM: ----------------------------------------------------------------- So for every cell we have to make a decision and at least copy everything once? I see a lot of added .toByteArray()s in the patch. Is that a copy on each invocation? How about: Make the decision once, with no additional copies. Subclass the codec class, unconditionally strip tags for RPC. Don't for WAL and HFile. I guess we don't support tags with the Export tool until we can handle this better. was (Author: apurtell): So for every cell we have to make a decision and at least copy everything once? I see a lot of added .toByteArray()s in the patch. Is that a copy on each invocation? How about: Make the decision once, with no additional copies. Subclass MessageCodec, unconditionally strip tags for RPC. Don't for WAL and HFile. I guess we don't support tags with the Export tool until we can handle this better. > Strip tags from KV while sending back to client on reads > -------------------------------------------------------- > > Key: HBASE-10322 > URL: https://issues.apache.org/jira/browse/HBASE-10322 > Project: HBase > Issue Type: Bug > Affects Versions: 0.98.0 > Reporter: Anoop Sam John > Assignee: Anoop Sam John > Priority: Blocker > Fix For: 0.98.0, 0.99.0 > > Attachments: HBASE-10322.patch, HBASE-10322_V2.patch > > > Right now we have some inconsistency wrt sending back tags on read. We do this in scan when using Java client(Codec based cell block encoding). But during a Get operation or when a pure PB based Scan comes we are not sending back the tags. So any of the below fix we have to do > 1. Send back tags in missing cases also. But sending back visibility expression/ cell ACL is not correct. > 2. Don't send back tags in any case. This will a problem when a tool like ExportTool use the scan to export the table data. We will miss exporting the cell visibility/ACL. > 3. Send back tags based on some condition. It has to be per scan basis. Simplest way is pass some kind of attribute in Scan which says whether to send back tags or not. But believing some thing what scan specifies might not be correct IMO. Then comes the way of checking the user who is doing the scan. When a HBase super user doing the scan then only send back tags. So when a case comes like Export Tool's the execution should happen from a super user. > So IMO we should go with #3. > Patch coming soon. -- This message was sent by Atlassian JIRA (v6.1.5#6160)