diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java index 1fce791cbe..6067c1a1d7 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java @@ -604,7 +604,8 @@ private Long incrementalDump(Path dumpRoot, DumpMetaData dmd, Path cmRoot, Hive replLogger.endLog(lastReplId.toString()); LOG.info("Done dumping events, preparing to return {},{}", dumpRoot.toUri(), lastReplId); long executionId = conf.getLong(Constants.SCHEDULED_QUERY_EXECUTIONID, 0L); - dmd.setDump(DumpType.INCREMENTAL, work.eventFrom, lastReplId, cmRoot, executionId); + dmd.setDump(DumpType.INCREMENTAL, work.eventFrom, lastReplId, cmRoot, executionId, + work.replScope.getIncludedTableNames(), work.replScope.getExcludedTableNames()); // If repl policy is changed (oldReplScope is set), then pass the current replication policy, // so that REPL LOAD would drop the tables which are not included in current policy. if (work.oldReplScope != null) { @@ -940,7 +941,8 @@ Long bootStrapDump(Path dumpRoot, DumpMetaData dmd, Path cmRoot, Hive hiveDb) LOG.info("Preparing to return {},{}->{}", dumpRoot.toUri(), bootDumpBeginReplId, bootDumpEndReplId); long executorId = conf.getLong(Constants.SCHEDULED_QUERY_EXECUTIONID, 0L); - dmd.setDump(DumpType.BOOTSTRAP, bootDumpBeginReplId, bootDumpEndReplId, cmRoot, executorId); + dmd.setDump(DumpType.BOOTSTRAP, bootDumpBeginReplId, bootDumpEndReplId, cmRoot, executorId, + work.replScope.getIncludedTableNames(), work.replScope.getExcludedTableNames()); dmd.write(true); work.setFunctionCopyPathIterator(functionsBinaryCopyPaths.iterator()); setDataCopyIterators(extTableFileList, managedTblList); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/DumpMetaData.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/DumpMetaData.java index b6d43f7946..763551c16c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/DumpMetaData.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/repl/load/DumpMetaData.java @@ -52,6 +52,8 @@ private final Path dumpFile; private final HiveConf hiveConf; private Long dumpExecutionId; + private String includedTablesList = null; + private String excludedTablesList = null; public DumpMetaData(Path dumpRoot, HiveConf hiveConf) { this.hiveConf = hiveConf; @@ -73,6 +75,13 @@ public void setDump(DumpType lvl, Long eventFrom, Long eventTo, Path cmRoot, Lon this.dumpExecutionId = dumpExecutionId; } + public void setDump(DumpType lvl, Long eventFrom, Long eventTo, Path cmRoot, Long dumpExecutionId, + String includeTablesList, String excludeTablesList) { + setDump(lvl, eventFrom, eventTo, cmRoot, dumpExecutionId); + this.includedTablesList = includeTablesList; + this.excludedTablesList = excludeTablesList; + } + public void setPayload(String payload) { this.payload = payload; } @@ -219,7 +228,7 @@ public void write(boolean replace) throws SemanticException { eventTo.toString(), cmRoot.toString(), dumpExecutionId.toString(), - payload) + payload, includedTablesList, excludedTablesList) ); if (replScope != null) { listValues.add(prepareReplScopeValues());