cameronlee314 commented on a change in pull request #1248: SAMZA-2410: Update 
ClusterBasedJobCoordinator config retrieval logic from loader.
URL: https://github.com/apache/samza/pull/1248#discussion_r368067913
 
 

 ##########
 File path: 
samza-core/src/main/java/org/apache/samza/clustermanager/ClusterBasedJobCoordinator.java
 ##########
 @@ -480,20 +485,101 @@ private static void 
executeRunClusterBasedJobCoordinatorForClass(Class<?> cluste
    * {@link #main(String[])} so that it can be executed directly or from a 
separate classloader.
    */
   private static void runClusterBasedJobCoordinator(String[] args) {
-    Config coordinatorSystemConfig;
     final String coordinatorSystemEnv = 
System.getenv(ShellCommandConfig.ENV_COORDINATOR_SYSTEM_CONFIG());
-    try {
-      //Read and parse the coordinator system config.
-      LOG.info("Parsing coordinator system config {}", coordinatorSystemEnv);
-      coordinatorSystemConfig =
-          new 
MapConfig(SamzaObjectMapper.getObjectMapper().readValue(coordinatorSystemEnv, 
Config.class));
-      LOG.info("Using the coordinator system config: {}.", 
coordinatorSystemConfig);
-    } catch (IOException e) {
-      LOG.error("Exception while reading coordinator stream config", e);
-      throw new SamzaException(e);
+    final String submissionEnv = 
System.getenv(ShellCommandConfig.ENV_SUBMISSION_CONFIG());
+
+    if (submissionEnv != null) {
+      Config submissionConfig;
+      try {
+        //Read and parse the coordinator system config.
+        LOG.info("Parsing submission config {}", submissionEnv);
+        submissionConfig =
+            new 
MapConfig(SamzaObjectMapper.getObjectMapper().readValue(submissionEnv, 
Config.class));
+        LOG.info("Using the submission config: {}.", submissionConfig);
+      } catch (IOException e) {
+        LOG.error("Exception while reading submission config", e);
+        throw new SamzaException(e);
+      }
+
+      ClusterBasedJobCoordinator jc = createFromConfigLoader(submissionConfig);
+      jc.run();
+      LOG.info("Finished running ClusterBasedJobCoordinator");
+    } else {
+      // TODO: Clean this up once SAMZA-2405 is completed when legacy flow is 
removed.
+      Config coordinatorSystemConfig;
+      try {
+        //Read and parse the coordinator system config.
+        LOG.info("Parsing coordinator system config {}", coordinatorSystemEnv);
+        coordinatorSystemConfig =
+            new 
MapConfig(SamzaObjectMapper.getObjectMapper().readValue(coordinatorSystemEnv, 
Config.class));
+        LOG.info("Using the coordinator system config: {}.", 
coordinatorSystemConfig);
+      } catch (IOException e) {
+        LOG.error("Exception while reading coordinator stream config", e);
+        throw new SamzaException(e);
+      }
+      ClusterBasedJobCoordinator jc = 
createFromMetadataStore(coordinatorSystemConfig);
+      jc.run();
+      LOG.info("Finished running ClusterBasedJobCoordinator");
+    }
+  }
+
+  /**
+   * Initialize {@link ClusterBasedJobCoordinator} with coordinator stream 
config, full job config will be fetched from
+   * coordinator stream.
+   *
+   * @param metadataStoreConfig to initialize {@link MetadataStore}
+   * @return {@link ClusterBasedJobCoordinator}
+   */
+  // TODO SAMZA-2432: Clean this up once SAMZA-2405 is completed when legacy 
flow is removed.
+  public static ClusterBasedJobCoordinator createFromMetadataStore(Config 
metadataStoreConfig) {
+    MetricsRegistryMap metrics = new MetricsRegistryMap();
+
+    CoordinatorStreamStore coordinatorStreamStore = new 
CoordinatorStreamStore(metadataStoreConfig, metrics);
+    coordinatorStreamStore.init();
 
 Review comment:
   It looks like you already call `init` in the shared constructor. Please call 
it only once.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to