Blazer-007 commented on code in PR #4098:
URL: https://github.com/apache/gobblin/pull/4098#discussion_r1957681454


##########
gobblin-temporal/src/main/java/org/apache/gobblin/temporal/GobblinTemporalConfigurationKeys.java:
##########
@@ -74,4 +80,22 @@ public interface GobblinTemporalConfigurationKeys {
 
   String DYNAMIC_SCALING_POLLING_INTERVAL_SECS = DYNAMIC_SCALING_PREFIX + 
"polling.interval.seconds";
   int DEFAULT_DYNAMIC_SCALING_POLLING_INTERVAL_SECS = 60;
+
+  /**
+   * Generates a unique task queue name for Gobblin Temporal task queue.
+   * The task queue name is created by concatenating a prefix from the 
configuration
+   * with a randomly generated UUID.
+   *
+   * @param config the configuration object from which to retrieve the queue 
prefix
+   * @return a unique task queue name
+   * @throws NullPointerException if the provided config is null
+   */
+  static String getTemporalTaskQueueName(Config config) {
+    Objects.requireNonNull(config, "Config must not be null");
+
+    final String queuePrefix =
+        ConfigUtils.getString(config, 
GobblinTemporalConfigurationKeys.GOBBLIN_TEMPORAL_TASK_QUEUE,
+            
GobblinTemporalConfigurationKeys.DEFAULT_GOBBLIN_TEMPORAL_TASK_QUEUE);
+    return queuePrefix + UUID.randomUUID();
+  }

Review Comment:
   I think this impl should be written in `AbstractTemporalWorker` and not here 
as this class is mainly just keys declaration
   Also instead of `Objects.requireNonNull(config, "Config must not be null");` 
we can directly annotate in function param.



##########
gobblin-temporal/src/main/java/org/apache/gobblin/temporal/GobblinTemporalConfigurationKeys.java:
##########
@@ -74,4 +80,22 @@ public interface GobblinTemporalConfigurationKeys {
 
   String DYNAMIC_SCALING_POLLING_INTERVAL_SECS = DYNAMIC_SCALING_PREFIX + 
"polling.interval.seconds";
   int DEFAULT_DYNAMIC_SCALING_POLLING_INTERVAL_SECS = 60;
+
+  /**
+   * Generates a unique task queue name for Gobblin Temporal task queue.
+   * The task queue name is created by concatenating a prefix from the 
configuration
+   * with a randomly generated UUID.
+   *
+   * @param config the configuration object from which to retrieve the queue 
prefix
+   * @return a unique task queue name
+   * @throws NullPointerException if the provided config is null
+   */
+  static String getTemporalTaskQueueName(Config config) {
+    Objects.requireNonNull(config, "Config must not be null");
+
+    final String queuePrefix =
+        ConfigUtils.getString(config, 
GobblinTemporalConfigurationKeys.GOBBLIN_TEMPORAL_TASK_QUEUE,
+            
GobblinTemporalConfigurationKeys.DEFAULT_GOBBLIN_TEMPORAL_TASK_QUEUE);
+    return queuePrefix + UUID.randomUUID();

Review Comment:
   This will create a new UUID each time when called, we need to initialize 
this taskQueue only once.



##########
gobblin-temporal/src/main/java/org/apache/gobblin/temporal/cluster/GobblinTemporalTaskRunner.java:
##########
@@ -151,8 +151,7 @@ public GobblinTemporalTaskRunner(String applicationName,
     this.containerMetrics = buildContainerMetrics();
     this.numTemporalWorkers = ConfigUtils.getInt(config, 
GobblinTemporalConfigurationKeys.TEMPORAL_NUM_WORKERS_PER_CONTAINER,
         
GobblinTemporalConfigurationKeys.DEFAULT_TEMPORAL_NUM_WORKERS_PER_CONTAINERS);
-    this.temporalQueueName = ConfigUtils.getString(config, 
GobblinTemporalConfigurationKeys.GOBBLIN_TEMPORAL_TASK_QUEUE,
-        GobblinTemporalConfigurationKeys.DEFAULT_GOBBLIN_TEMPORAL_TASK_QUEUE);
+    this.temporalQueueName = 
GobblinTemporalConfigurationKeys.getTemporalTaskQueueName(config);

Review Comment:
   Do we even need this here ? I don't see any usage of this



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@gobblin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to