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 25CCB200D36 for ; Mon, 6 Nov 2017 20:31:05 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 243B5160BEC; Mon, 6 Nov 2017 19:31:05 +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 693C2160BD5 for ; Mon, 6 Nov 2017 20:31:04 +0100 (CET) Received: (qmail 58499 invoked by uid 500); 6 Nov 2017 19:31: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 58487 invoked by uid 99); 6 Nov 2017 19:31:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Nov 2017 19:31:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 9A11218077E for ; Mon, 6 Nov 2017 19:31:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id UZmqYBXbnoEw for ; Mon, 6 Nov 2017 19:31: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 2F7C860F5E for ; Mon, 6 Nov 2017 19:31: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 6D7D9E0059 for ; Mon, 6 Nov 2017 19:31: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 3178E23F05 for ; Mon, 6 Nov 2017 19:31:00 +0000 (UTC) Date: Mon, 6 Nov 2017 19:31:00 +0000 (UTC) From: "Andrew Purtell (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-19160) Re-expose CellComparator MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 06 Nov 2017 19:31:05 -0000 [ https://issues.apache.org/jira/browse/HBASE-19160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16240748#comment-16240748 ] Andrew Purtell commented on HBASE-19160: ---------------------------------------- [~tedyu] the addendum fixes the build for me, thanks +1 > Re-expose CellComparator > ------------------------ > > Key: HBASE-19160 > URL: https://issues.apache.org/jira/browse/HBASE-19160 > Project: HBase > Issue Type: Bug > Affects Versions: 2.0.0-alpha-4 > Reporter: Mike Drob > Assignee: Mike Drob > Priority: Critical > Fix For: 3.0.0, 2.0.0-beta-1 > > Attachments: 19160.addendum, HBASE-19160.patch, HBASE-19160.v2.patch, HBASE-19160.v3.patch, HBASE-19160.v4.patch > > > On HBASE-18995 we moved a bunch of public methods to Private places. This inadvertently breaks donwstream consumers. Let's see if we can ease up on some of the lockdown and make life easier for them. > Copying [~ram_krish]'s previous analysis: > {quote} > I read the Crunch projec't hbase-support related code. > -> It uses both CellUtil (Public exposed) and KeyValueUtil (@Private) classes for helper methods. > -> All methods in CellUtil that are getting used are even now exposed in branch-2's CellUtil and they are very common helper methods. So we are safe here. > -> Wrt KeyValueUtil the API is createFirstOnRow(). It is used in test cases and in some core code. In most of the places they are trying to create the splitKeys from the region's start keys and that is also getting persisted. I think here they can safely create a cell out of the given byte[] of the row. > But there is one place where they are trying to do some scanning on a HFileScanner directly (@Private) scanner. So this should be changed because it is an internal interface for us. And on this scanner they have copied our seekTo() code into their source files for some scanning purpose. In this code they are actually using the KvUtil.createFirstOnRow() to seek to that first cell of that row. > More over I think in branch-2 we are restricting even CPs from accessing some of our internal scanners and they can only use InternalScanner interface. So this code in crunch needs heavy refactoring to work with branch-2 in case they want to fit into the Public/Private exposed semantics that HBase presents to the downstreamers. > -> If still they want some APIs like this we can expose CellUtil#createFirstOnRow, createLastOnRow, createFirstOnCol and createLastOnCol at the maximum. I think others are not useful and are more internal stuffs. > {quote} -- This message was sent by Atlassian JIRA (v6.4.14#64029)