This is an automated email from the ASF dual-hosted git repository.
tchoi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push:
new 24e835c34f6 HIVE-29511: [hiveACIDRepl] For incremental replication
newly created UDF data count is not updated in metricCollector (#6372)
24e835c34f6 is described below
commit 24e835c34f69c29b6f0cd464d6be8e977130451b
Author: Shivam Kumar <[email protected]>
AuthorDate: Fri Mar 20 07:58:44 2026 +0530
HIVE-29511: [hiveACIDRepl] For incremental replication newly created UDF
data count is not updated in metricCollector (#6372)
---
ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplDumpTask.java | 3 +++
ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplStateLogWork.java | 2 ++
.../hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java | 1 +
3 files changed, 6 insertions(+)
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 3b741851945..b211ef294f2 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
@@ -955,6 +955,7 @@ private Long incrementalDump(Path dumpRoot, DumpMetaData
dmd, Path cmRoot, Hive
Map<String, Long> metricMap = new HashMap<>();
metricMap.put(ReplUtils.MetricName.EVENTS.name(), estimatedNumEvents);
metricMap.put(ReplUtils.MetricName.TABLES.name(), 0L);
+ metricMap.put(ReplUtils.MetricName.FUNCTIONS.name(), 0L);
int size = tablesForBootstrap.size();
if (db != null && db.getParameters()!=null &&
Boolean.parseBoolean(db.getParameters().get(REPL_RESUME_STARTED_AFTER_FAILOVER)))
{
@@ -1299,6 +1300,8 @@ private void dumpEvent(NotificationEvent ev, Path evRoot,
Path dumpRoot, Path cm
work.getMetricCollector().reportStageProgress(getName(),
ReplUtils.MetricName.EVENTS.name(), 1);
if (eventHandler.dumpType() == DumpType.EVENT_CREATE_TABLE) {
work.getMetricCollector().reportStageProgress(getName(),
ReplUtils.MetricName.TABLES.name(), 1);
+ } else if (eventHandler.dumpType() == DumpType.EVENT_CREATE_FUNCTION) {
+ work.getMetricCollector().reportStageProgress(getName(),
ReplUtils.MetricName.FUNCTIONS.name(), 1);
}
}
work.getReplLogger().eventLog(String.valueOf(ev.getEventId()),
eventHandler.dumpType().toString());
diff --git
a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplStateLogWork.java
b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplStateLogWork.java
index 5a31f88a44c..95e9ba24ead 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplStateLogWork.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/ReplStateLogWork.java
@@ -153,6 +153,8 @@ public void replStateLog() throws SemanticException {
metricCollector.reportStageProgress("REPL_LOAD",
ReplUtils.MetricName.EVENTS.name(), 1);
if ("EVENT_CREATE_TABLE".equals(eventType)) {
metricCollector.reportStageProgress("REPL_LOAD",
ReplUtils.MetricName.TABLES.name(), 1);
+ } else if ("EVENT_CREATE_FUNCTION".equals(eventType)) {
+ metricCollector.reportStageProgress("REPL_LOAD",
ReplUtils.MetricName.FUNCTIONS.name(), 1);
}
break;
case END:
diff --git
a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java
b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java
index 9e370b49f90..00a3b600fd6 100644
---
a/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java
+++
b/ql/src/java/org/apache/hadoop/hive/ql/exec/repl/incremental/IncrementalLoadTasksBuilder.java
@@ -100,6 +100,7 @@ public IncrementalLoadTasksBuilder(String dbName, String
loadPath, IncrementalLo
Map<String, Long> metricMap = new HashMap<>();
metricMap.put(ReplUtils.MetricName.EVENTS.name(), (long)
iterator.getTotalEventsCount());
metricMap.put(ReplUtils.MetricName.TABLES.name(), 0L);
+ metricMap.put(ReplUtils.MetricName.FUNCTIONS.name(), 0L);
this.shouldFailover = shouldFailover;
if (shouldFailover) {
Database db = null;