Abacn commented on code in PR #28783:
URL: https://github.com/apache/beam/pull/28783#discussion_r1346118024


##########
sdks/java/transform-service/src/main/java/org/apache/beam/sdk/transformservice/ExpansionService.java:
##########
@@ -40,6 +47,12 @@ public class ExpansionService extends 
ExpansionServiceGrpc.ExpansionServiceImplB
 
   final List<Endpoints.ApiServiceDescriptor> endpoints;
 
+  private boolean checkedAllServices = false;
+
+  private static final long SERVICE_CHECK_TIMEOUT = 60000;

Review Comment:
   SERVICE_CHECK_TIMEOUT_MILLIS or add a comment about the unit?



##########
sdks/java/transform-service/launcher/src/main/java/org/apache/beam/sdk/transformservice/launcher/TransformServiceLauncher.java:
##########
@@ -124,10 +128,84 @@ private TransformServiceLauncher(@Nullable String 
projectName, int port) throws
       }
     }
 
+    // Setting up the dependencies directory.
+    File dependenciesDir = Paths.get(tmpDir, "dependencies_dir").toFile();
+    Path updatedRequirementsFilePath = Paths.get(dependenciesDir.toString(), 
"requirements.txt");
+    LOG.info(
+        "Creating a temporary directory for storing dependencies: "

Review Comment:
   minor - this LOG may better fit under the else branch of `if 
(!dependenciesDir.mkdir())` below. When dependenciesDir.exists() its not 
actually creating but just reusing



##########
sdks/java/transform-service/launcher/src/test/java/org/apache/beam/sdk/transformservice/launcher/TransformServiceLauncherTest.java:
##########
@@ -0,0 +1,185 @@
+/*

Review Comment:
   It appears this test (and unit test in sdks/java/transformservice project) 
is not executed in any precommit?



##########
sdks/java/transform-service/src/main/java/org/apache/beam/sdk/transformservice/ExpansionService.java:
##########
@@ -48,10 +61,61 @@ public class ExpansionService extends 
ExpansionServiceGrpc.ExpansionServiceImplB
         clientFactory != null ? clientFactory : 
DEFAULT_EXPANSION_SERVICE_CLIENT_FACTORY;
   }
 
+  // Waits till all expansion services are ready.
+  private void waitForAllServicesToBeReady() throws TimeoutException {
+    if (disableServiceCheck) {
+      // Service check disabled. Just returning.
+      return;
+    }
+
+    outer:
+    for (Endpoints.ApiServiceDescriptor endpoint : endpoints) {
+      long start = System.currentTimeMillis();
+      long duration = 10;
+      while (System.currentTimeMillis() - start < SERVICE_CHECK_TIMEOUT) {
+        try {
+          String url = endpoint.getUrl();
+          int portIndex = url.lastIndexOf(":");
+          int port = portIndex > 0 ? Integer.parseInt(url.substring(portIndex 
+ 1)) : 80;

Review Comment:
   Is default port 80 documented somewhere / rely on some other components ? If 
I remember correctly the port for expansion service is dynamically signed?



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to