commit b2988d50ef882b70f04e2f6107599b6a013b1c39 Author: Bharath Krishna Date: Tue Feb 5 16:12:01 2019 -0800 HIVE-21205 : Tests for replace flag in insert event messages in Metastore notifications. 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 9eacfd8be8..2bca542e88 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 @@ -1079,6 +1079,7 @@ public void insertTable() throws Exception { data.setInsertData(insertData); insertData.addToFilesAdded(fileAdded); insertData.addToFilesAddedChecksum(checksumAdded); + insertData.setReplace(false); FireEventRequest rqst = new FireEventRequest(true, data); rqst.setDbName(defaultDbName); rqst.setTableName(tblName); @@ -1102,6 +1103,7 @@ public void insertTable() throws Exception { assertEquals(defaultDbName, insertMessage.getDB()); assertEquals(tblName, insertMessage.getTable()); assertEquals(TableType.MANAGED_TABLE.toString(), insertMessage.getTableType()); + assertEquals(false, insertMessage.isReplace()); // Verify the eventID was passed to the non-transactional listener MockMetaStoreEventListener.popAndVerifyLastEventId(EventType.INSERT, firstEventId + 2); @@ -1146,6 +1148,7 @@ public void insertPartition() throws Exception { data.setInsertData(insertData); insertData.addToFilesAdded(fileAdded); insertData.addToFilesAddedChecksum(checksumAdded); + insertData.setReplace(false); FireEventRequest rqst = new FireEventRequest(true, data); rqst.setDbName(defaultDbName); rqst.setTableName(tblName); @@ -1166,7 +1169,7 @@ public void insertPartition() throws Exception { verifyInsert(event, defaultDbName, tblName); InsertMessage insertMessage = md.getInsertMessage(event.getMessage()); List ptnValues = insertMessage.getPtnObj().getValues(); - + assertEquals(false, insertMessage.isReplace()); assertEquals(partKeyVals, ptnValues); // Verify the eventID was passed to the non-transactional listener @@ -1432,6 +1435,8 @@ public void sqlInsertPartition() throws Exception { event = rsp.getEvents().get(28); assertEquals(firstEventId + 29, event.getEventId()); assertEquals(EventType.INSERT.toString(), event.getEventType()); + InsertMessage insertMsg = md.getInsertMessage(event.getMessage()); + assertEquals(true, insertMsg.isReplace()); // replace-overwrite introduces no new files assertTrue(event.getMessage().matches(".*\"files\":\\[\\].*"));