commit 96b5664810cd26354dd41c4a93020bcce464558e Author: Alan Gates Date: Wed Jan 28 11:19:27 2015 -0800 HIVE-9501 Added dbname ot create db and table name to create table notices. diff --git hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java index f6706f1..d48c6c7 100644 --- hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java +++ hcatalog/server-extensions/src/main/java/org/apache/hive/hcatalog/listener/DbNotificationListener.java @@ -119,8 +119,7 @@ public void onCreateTable (CreateTableEvent tableEvent) throws MetaException { NotificationEvent event = new NotificationEvent(0, now(), HCatConstants.HCAT_CREATE_TABLE_EVENT, msgFactory.buildCreateTableMessage(t).toString()); event.setDbName(t.getDbName()); - // Table name is not set in create table because this goes on the queue for the database the - // table is created in, not the (new) queue for the table itself. + event.setTableName(t.getTableName()); enqueue(event); } @@ -209,9 +208,7 @@ public void onCreateDatabase (CreateDatabaseEvent dbEvent) throws MetaException NotificationEvent event = new NotificationEvent(0, now(), HCatConstants.HCAT_CREATE_DATABASE_EVENT, msgFactory.buildCreateDatabaseMessage(db).toString()); - // Database name is null for create database, because this doesn't belong to messages for - // that database. Rather it belongs to system wide messages. The db name is in the message, - // so listeners can determine it. + event.setDbName(db.getName()); enqueue(event); } diff --git itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java index d730eca..7d7e7b1 100644 --- itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java +++ itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/api/TestHCatClientNotification.java @@ -83,7 +83,7 @@ public void createDatabase() throws Exception { assertEquals(firstEventId + 1, event.getEventId()); assertTrue(event.getEventTime() >= startTime); assertEquals(HCatConstants.HCAT_CREATE_DATABASE_EVENT, event.getEventType()); - assertNull(event.getDbName()); + assertEquals("myhcatdb", event.getDbName()); assertNull(event.getTableName()); assertTrue(event.getMessage().matches("\\{\"eventType\":\"CREATE_DATABASE\",\"server\":\"\"," + "\"servicePrincipal\":\"\",\"db\":\"myhcatdb\",\"timestamp\":[0-9]+}")); @@ -124,7 +124,7 @@ public void createTable() throws Exception { assertTrue(event.getEventTime() >= startTime); assertEquals(HCatConstants.HCAT_CREATE_TABLE_EVENT, event.getEventType()); assertEquals(dbName, event.getDbName()); - assertNull(event.getTableName()); + assertEquals("hcatcreatetable", event.getTableName()); assertTrue(event.getMessage().matches("\\{\"eventType\":\"CREATE_TABLE\",\"server\":\"\"," + "\"servicePrincipal\":\"\",\"db\":\"default\",\"table\":\"hcatcreatetable\",\"timestamp\":[0-9]+}")); } diff --git itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java index c95187c..9007017 100644 --- itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java +++ itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/TestDbNotificationListener.java @@ -91,7 +91,7 @@ public void createDatabase() throws Exception { assertEquals(firstEventId + 1, event.getEventId()); assertTrue(event.getEventTime() >= startTime); assertEquals(HCatConstants.HCAT_CREATE_DATABASE_EVENT, event.getEventType()); - assertNull(event.getDbName()); + assertEquals("mydb", event.getDbName()); assertNull(event.getTableName()); assertTrue(event.getMessage().matches("\\{\"eventType\":\"CREATE_DATABASE\",\"server\":\"\"," + "\"servicePrincipal\":\"\",\"db\":\"mydb\",\"timestamp\":[0-9]+}")); @@ -135,7 +135,7 @@ public void createTable() throws Exception { assertTrue(event.getEventTime() >= startTime); assertEquals(HCatConstants.HCAT_CREATE_TABLE_EVENT, event.getEventType()); assertEquals("default", event.getDbName()); - assertNull(event.getTableName()); + assertEquals("mytable", event.getTableName()); assertTrue(event.getMessage().matches("\\{\"eventType\":\"CREATE_TABLE\",\"server\":\"\"," + "\"servicePrincipal\":\"\",\"db\":\"default\",\"table\":\"mytable\",\"timestamp\":[0-9]+}")); }