You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@helix.apache.org by GitBox <gi...@apache.org> on 2020/09/08 18:48:34 UTC

[GitHub] [helix] alirezazamani commented on a change in pull request #1346: Stabilize TestEnqueueJobs

alirezazamani commented on a change in pull request #1346:
URL: https://github.com/apache/helix/pull/1346#discussion_r485126373



##########
File path: helix-core/src/test/java/org/apache/helix/integration/task/TestEnqueueJobs.java
##########
@@ -135,10 +146,18 @@ public void testQueueParallelJobs() throws InterruptedException {
             .setCommand(MockTask.TASK_COMMAND).setMaxAttemptsPerTask(2)
             .setJobCommandConfigMap(Collections.singletonMap(MockTask.JOB_DELAY, "10000"));
 
+    _driver.waitToStop(queueName, 5000L);
+
     // Add 4 jobs to the queue
+    List<String> jobNames = new ArrayList<>();
+    List<JobConfig.Builder> jobBuilders = new ArrayList<>();
     for (int i = 0; i < numberOfJobsAddedBeforeControllerSwitch; i++) {
-      _driver.enqueueJob(queueName, "JOB" + i, jobBuilder);
+      jobNames.add("JOB" + i);
+      jobBuilders.add(jobBuilder);
     }
+    _driver.enqueueJobs(queueName, jobNames, jobBuilders);

Review comment:
       Yeah. Batching would help. The issue seems to be in the nature of Helix/ZK if user adds jobs in a row. So if this is the behavior, it is better to do batch job addition. So let's say user is adding jobs one by one. Let's say user is job1, job2 and job3. 
   At T1: Job1 and job2 are added and jobDAG is changed.
   At T2: We get children of config and know new configs of job1 and job2 and change in DAG.
   At T3: job3 is added and is being added to DAG.
   At T4: Refresh is started and and controller see config of job1, job2 and DAG will be Job1, job2 and job3.
   Now in the pipeline since we see job3 in the DAG and we do not see config, we purge job3 and remove config from ZK. Hence job3 will not be finished at all.




----------------------------------------------------------------
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:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@helix.apache.org
For additional commands, e-mail: reviews-help@helix.apache.org