diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java index 7bb48a9..54dbeda 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ImportSemanticAnalyzer.java @@ -949,7 +949,7 @@ private static void createReplImportTasks( return; // silently return, table is newer than our replacement. } if (!replicationSpec.isMetadataOnly()) { - loadTable(fromURI, table, true, new Path(fromURI), replicationSpec, x); // repl-imports are replace-into + loadTable(fromURI, table, false, new Path(fromURI), replicationSpec, x); // repl-imports are insert-into } else { x.getTasks().add(alterTableTask(tblDesc, x, replicationSpec)); } diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java index 37baca1..aad594b 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/ReplicationSemanticAnalyzer.java @@ -1160,9 +1160,11 @@ private void analyzeReplLoad(ASTNode ast) throws SemanticException { case EVENT_INSERT: { md = MessageFactory.getInstance().getDeserializer(); InsertMessage insertMessage = md.getInsertMessage(dmd.getPayload()); + String actualDbName = ((dbName == null) || dbName.isEmpty() ? insertMessage.getDB() : dbName); + String actualTblName = ((tblName == null) || tblName.isEmpty() ? insertMessage.getTable() : tblName); + // Piggybacking in Import logic for now - return analyzeTableLoad( - insertMessage.getDB(), insertMessage.getTable(), locn, precursor, dbsUpdated, tablesUpdated); + return analyzeTableLoad(actualDbName, actualTblName, locn, precursor, dbsUpdated, tablesUpdated); } case EVENT_UNKNOWN: { break;