From hcatalog-commits-return-534-apmail-incubator-hcatalog-commits-archive=incubator.apache.org@incubator.apache.org Tue Nov 1 21:16:17 2011 Return-Path: X-Original-To: apmail-incubator-hcatalog-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-hcatalog-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A6FA37679 for ; Tue, 1 Nov 2011 21:16:17 +0000 (UTC) Received: (qmail 75764 invoked by uid 500); 1 Nov 2011 21:16:17 -0000 Delivered-To: apmail-incubator-hcatalog-commits-archive@incubator.apache.org Received: (qmail 75748 invoked by uid 500); 1 Nov 2011 21:16:17 -0000 Mailing-List: contact hcatalog-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hcatalog-dev@incubator.apache.org Delivered-To: mailing list hcatalog-commits@incubator.apache.org Received: (qmail 75741 invoked by uid 99); 1 Nov 2011 21:16:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2011 21:16:17 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Nov 2011 21:16:14 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 5C09F238889B; Tue, 1 Nov 2011 21:15:53 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1196280 - in /incubator/hcatalog/branches/branch-0.2: CHANGES.txt src/java/org/apache/hcatalog/listener/NotificationListener.java Date: Tue, 01 Nov 2011 21:15:53 -0000 To: hcatalog-commits@incubator.apache.org From: hashutosh@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20111101211553.5C09F238889B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: hashutosh Date: Tue Nov 1 21:15:52 2011 New Revision: 1196280 URL: http://svn.apache.org/viewvc?rev=1196280&view=rev Log: HCATALOG-148: Meaningful error message on failure to resolve topic name for partition event Modified: incubator/hcatalog/branches/branch-0.2/CHANGES.txt incubator/hcatalog/branches/branch-0.2/src/java/org/apache/hcatalog/listener/NotificationListener.java Modified: incubator/hcatalog/branches/branch-0.2/CHANGES.txt URL: http://svn.apache.org/viewvc/incubator/hcatalog/branches/branch-0.2/CHANGES.txt?rev=1196280&r1=1196279&r2=1196280&view=diff ============================================================================== --- incubator/hcatalog/branches/branch-0.2/CHANGES.txt (original) +++ incubator/hcatalog/branches/branch-0.2/CHANGES.txt Tue Nov 1 21:15:52 2011 @@ -77,6 +77,8 @@ Release 0.2.0 - Sept-2011 OPTIMIZATIONS BUG FIXES + HCAT-148. Meaningful error message on failure to resolve topic name for partition event (thw via hashutosh) + HCAT-103. Update documentation after rpm changes per HCATALOG-63 (khorgath via hashutosh) HCAT-113. rpm name not properly reflecting the version number (gates via hashutosh) Modified: incubator/hcatalog/branches/branch-0.2/src/java/org/apache/hcatalog/listener/NotificationListener.java URL: http://svn.apache.org/viewvc/incubator/hcatalog/branches/branch-0.2/src/java/org/apache/hcatalog/listener/NotificationListener.java?rev=1196280&r1=1196279&r2=1196280&view=diff ============================================================================== --- incubator/hcatalog/branches/branch-0.2/src/java/org/apache/hcatalog/listener/NotificationListener.java (original) +++ incubator/hcatalog/branches/branch-0.2/src/java/org/apache/hcatalog/listener/NotificationListener.java Tue Nov 1 21:15:52 2011 @@ -52,14 +52,15 @@ import org.apache.hadoop.hive.metastore. import org.apache.hadoop.hive.metastore.api.StorageDescriptor; import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.metastore.events.AddPartitionEvent; +import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent; import org.apache.hadoop.hive.metastore.events.AlterTableEvent; import org.apache.hadoop.hive.metastore.events.CreateDatabaseEvent; import org.apache.hadoop.hive.metastore.events.CreateTableEvent; import org.apache.hadoop.hive.metastore.events.DropDatabaseEvent; import org.apache.hadoop.hive.metastore.events.DropPartitionEvent; import org.apache.hadoop.hive.metastore.events.DropTableEvent; +import org.apache.hadoop.hive.metastore.events.ListenerEvent; import org.apache.hadoop.hive.metastore.events.LoadPartitionDoneEvent; -import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent; import org.apache.hcatalog.common.HCatConstants; /** @@ -87,6 +88,24 @@ public class NotificationListener extend createConnection(); } + private static String getTopicName(Partition partition, + ListenerEvent partitionEvent) throws MetaException { + try { + String topicName = partitionEvent.getHandler() + .get_table(partition.getDbName(), partition.getTableName()) + .getParameters().get(HCatConstants.HCAT_MSGBUS_TOPIC_NAME); + if (topicName == null) { + throw new MetaException( + "Topic name not found in metastore. Please do alter table set properties (" + + HCatConstants.HCAT_MSGBUS_TOPIC_NAME + + "=dbname.tablename) or whatever you want topic name to be."); + } + return topicName; + } catch (NoSuchObjectException e) { + throw new MetaException(e.toString()); + } + } + @Override public void onAddPartition(AddPartitionEvent partitionEvent) throws MetaException { // Subscriber can get notification of newly add partition in a @@ -95,13 +114,7 @@ public class NotificationListener extend if(partitionEvent.getStatus()){ Partition partition = partitionEvent.getPartition(); - String topicName; - try { - topicName = partitionEvent.getHandler().get_table( - partition.getDbName(), partition.getTableName()).getParameters().get(HCatConstants.HCAT_MSGBUS_TOPIC_NAME); - } catch (NoSuchObjectException e) { - throw new MetaException(e.toString()); - } + String topicName = getTopicName(partition, partitionEvent); send(partition, topicName, HCatConstants.HCAT_ADD_PARTITION_EVENT); } @@ -123,13 +136,7 @@ public class NotificationListener extend sd.setSortCols(new ArrayList()); sd.setParameters(new HashMap()); sd.getSerdeInfo().setParameters(new HashMap()); - String topicName; - try { - topicName = partitionEvent.getHandler().get_table( - partition.getDbName(), partition.getTableName()).getParameters().get(HCatConstants.HCAT_MSGBUS_TOPIC_NAME); - } catch (NoSuchObjectException e) { - throw new MetaException(e.toString()); - } + String topicName = getTopicName(partition, partitionEvent); send(partition, topicName, HCatConstants.HCAT_DROP_PARTITION_EVENT); } }