You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by jl...@apache.org on 2022/09/20 20:54:46 UTC
[pinot] branch master updated: Make minion task metadata manager methods more generic (#9436)
This is an automated email from the ASF dual-hosted git repository.
jlli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new 7be06af22c Make minion task metadata manager methods more generic (#9436)
7be06af22c is described below
commit 7be06af22c32433f6031fd7e1d29be1d2b96cb71
Author: Saurabh Dubey <sa...@gmail.com>
AuthorDate: Wed Sep 21 02:24:37 2022 +0530
Make minion task metadata manager methods more generic (#9436)
Co-authored-by: Saurabh Dubey <sa...@Saurabhs-MacBook-Pro.local>
---
.../executor/MinionTaskZkMetadataManager.java | 28 ++++++++++------------
.../RealtimeToOfflineSegmentsTaskExecutor.java | 6 +++--
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/pinot-minion/src/main/java/org/apache/pinot/minion/executor/MinionTaskZkMetadataManager.java b/pinot-minion/src/main/java/org/apache/pinot/minion/executor/MinionTaskZkMetadataManager.java
index 4231ed6d05..d05e364cb7 100644
--- a/pinot-minion/src/main/java/org/apache/pinot/minion/executor/MinionTaskZkMetadataManager.java
+++ b/pinot-minion/src/main/java/org/apache/pinot/minion/executor/MinionTaskZkMetadataManager.java
@@ -20,10 +20,8 @@ package org.apache.pinot.minion.executor;
import org.apache.helix.HelixManager;
import org.apache.helix.zookeeper.datamodel.ZNRecord;
+import org.apache.pinot.common.minion.BaseTaskMetadata;
import org.apache.pinot.common.minion.MinionTaskMetadataUtils;
-import org.apache.pinot.common.minion.RealtimeToOfflineSegmentsTaskMetadata;
-import org.apache.pinot.core.common.MinionConstants.RealtimeToOfflineSegmentsTask;
-
/**
* An abstraction on top of {@link HelixManager}, created for the {@link PinotTaskExecutor}, restricted to only
@@ -37,24 +35,24 @@ public class MinionTaskZkMetadataManager {
}
/**
- * Fetch the ZNRecord under MINION_TASK_METADATA/${tableNameWithType}/RealtimeToOfflineSegmentsTask for
+ * Fetch the ZNRecord under MINION_TASK_METADATA/${tableNameWithType}/${taskType} for
* the given tableNameWithType
*/
- public ZNRecord getRealtimeToOfflineSegmentsTaskZNRecord(String tableNameWithType) {
- return MinionTaskMetadataUtils
- .fetchTaskMetadata(_helixManager.getHelixPropertyStore(), RealtimeToOfflineSegmentsTask.TASK_TYPE,
- tableNameWithType);
+ public ZNRecord getTaskMetadataZNRecord(String tableNameWithType, String taskType) {
+ return MinionTaskMetadataUtils.fetchTaskMetadata(_helixManager.getHelixPropertyStore(), taskType,
+ tableNameWithType);
}
/**
- * Sets the {@link RealtimeToOfflineSegmentsTaskMetadata} into the ZNode at
- * MINION_TASK_METADATA/${tableNameWithType}/RealtimeToOfflineSegmentsTask
- * for the corresponding tableNameWithType
+ * Sets the {@link BaseTaskMetadata} ito the ZNode at
+ * MINION_TASK_METADATA/${tableNameWithType}/${taskType}
+ * for the corresponding tableNameWitType
+ * @param taskMetadata Task metadata which is to be written
+ * @param taskType taskType for which metadata is to be updated
* @param expectedVersion Version expected to be updating, failing the call if there's a mismatch
*/
- public void setRealtimeToOfflineSegmentsTaskMetadata(
- RealtimeToOfflineSegmentsTaskMetadata realtimeToOfflineSegmentsTaskMetadata, int expectedVersion) {
- MinionTaskMetadataUtils.persistTaskMetadata(_helixManager.getHelixPropertyStore(),
- RealtimeToOfflineSegmentsTask.TASK_TYPE, realtimeToOfflineSegmentsTaskMetadata, expectedVersion);
+ public void setTaskMetadataZNRecord(BaseTaskMetadata taskMetadata, String taskType, int expectedVersion) {
+ MinionTaskMetadataUtils.persistTaskMetadata(_helixManager.getHelixPropertyStore(), taskType, taskMetadata,
+ expectedVersion);
}
}
diff --git a/pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/realtimetoofflinesegments/RealtimeToOfflineSegmentsTaskExecutor.java b/pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/realtimetoofflinesegments/RealtimeToOfflineSegmentsTaskExecutor.java
index 0d81d31165..88c011cbb8 100644
--- a/pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/realtimetoofflinesegments/RealtimeToOfflineSegmentsTaskExecutor.java
+++ b/pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/realtimetoofflinesegments/RealtimeToOfflineSegmentsTaskExecutor.java
@@ -90,7 +90,8 @@ public class RealtimeToOfflineSegmentsTaskExecutor extends BaseMultipleSegmentsC
String realtimeTableName = configs.get(MinionConstants.TABLE_NAME_KEY);
ZNRecord realtimeToOfflineSegmentsTaskZNRecord =
- _minionTaskZkMetadataManager.getRealtimeToOfflineSegmentsTaskZNRecord(realtimeTableName);
+ _minionTaskZkMetadataManager.getTaskMetadataZNRecord(realtimeTableName,
+ RealtimeToOfflineSegmentsTask.TASK_TYPE);
Preconditions.checkState(realtimeToOfflineSegmentsTaskZNRecord != null,
"RealtimeToOfflineSegmentsTaskMetadata ZNRecord for table: %s should not be null. Exiting task.",
realtimeTableName);
@@ -191,7 +192,8 @@ public class RealtimeToOfflineSegmentsTaskExecutor extends BaseMultipleSegmentsC
long waterMarkMs = Long.parseLong(configs.get(RealtimeToOfflineSegmentsTask.WINDOW_END_MS_KEY));
RealtimeToOfflineSegmentsTaskMetadata newMinionMetadata =
new RealtimeToOfflineSegmentsTaskMetadata(realtimeTableName, waterMarkMs);
- _minionTaskZkMetadataManager.setRealtimeToOfflineSegmentsTaskMetadata(newMinionMetadata, _expectedVersion);
+ _minionTaskZkMetadataManager.setTaskMetadataZNRecord(newMinionMetadata, RealtimeToOfflineSegmentsTask.TASK_TYPE,
+ _expectedVersion);
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org