Return-Path: Delivered-To: apmail-hadoop-hbase-dev-archive@minotaur.apache.org Received: (qmail 30380 invoked from network); 20 Oct 2009 00:49:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 20 Oct 2009 00:49:22 -0000 Received: (qmail 43522 invoked by uid 500); 20 Oct 2009 00:49:22 -0000 Delivered-To: apmail-hadoop-hbase-dev-archive@hadoop.apache.org Received: (qmail 43448 invoked by uid 500); 20 Oct 2009 00:49:22 -0000 Mailing-List: contact hbase-dev-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hbase-dev@hadoop.apache.org Delivered-To: mailing list hbase-dev@hadoop.apache.org Received: (qmail 43427 invoked by uid 99); 20 Oct 2009 00:49:22 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2009 00:49:22 +0000 X-ASF-Spam-Status: No, hits=-10.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 20 Oct 2009 00:49:19 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 6C2D7234C045 for ; Mon, 19 Oct 2009 17:48:59 -0700 (PDT) Message-ID: <687977223.1255999739435.JavaMail.jira@brutus> Date: Tue, 20 Oct 2009 00:48:59 +0000 (UTC) From: "Andrew Purtell (JIRA)" To: hbase-dev@hadoop.apache.org Subject: [jira] Commented: (HBASE-1886) move table and column family attributes to ZK to make them live In-Reply-To: <2075655813.1254708716220.JavaMail.jira@brutus> 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-1886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12767638#action_12767638 ] Andrew Purtell commented on HBASE-1886: --------------------------------------- bq. if attributes are node names, they cannot just be byte[] can they? ZK api uses String. Keys are passed through Bytes.toStringBinary before becoming node names. But also the path separator needs to be escaped. If only printable characters are used this is basically a no-op. (Need to check if toStringBinary escapes more than != 32 <= 127) bq. I'd like to expand this conversation to be about all the stuff we want to move into ZK, how we will design our usage of ZK, etc.. Sure. Regarding attributes in particular, how about this: {noformat} /hbase /table /attr({'json':'table attributes'}) /families/ /attr({'json':'family attributes'}) {noformat} with all attributes for a table or family wrapped up in a single JSON body. Assumes the rest will be dropped in place around it. > move table and column family attributes to ZK to make them live > --------------------------------------------------------------- > > Key: HBASE-1886 > URL: https://issues.apache.org/jira/browse/HBASE-1886 > Project: Hadoop HBase > Issue Type: Improvement > Reporter: Andrew Purtell > Assignee: Andrew Purtell > Fix For: 0.21.0 > > Attachments: live_attributes.patch > > > This is a first cut at moving table and column family attributes up to ZK where they can be modified any time without requiring a disable/enable table cycle. Adds methods to ZooKeeperWrapper for support server side. Adds methods to HTableInterface for client side access. Client side talks directly to ZK. > The new hierarchy for attributes in ZK is like: > {noformat} > /hbase > /table > / > /attr > / > / > / > {noformat} > As before attribute names and values are byte[], but now that they are hosted in ZK, the path delimiter ('/') cannot be used. > Attached patch compiles but has not been tested. I put it up for a concept review. Next step before this is functional is to deprecate the attribute related methods on HTD and HCD and chase through the warnings to find all users who should be updated to use the ZK wrapper or new HTable methods instead. And, of course, then add test cases that successfully complete. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.