This is an automated email from the ASF dual-hosted git repository.

linxinyuan pushed a commit to branch xinyuan-loop-feb
in repository https://gitbox.apache.org/repos/asf/texera.git


The following commit(s) were added to refs/heads/xinyuan-loop-feb by this push:
     new 44fc0e795b update
44fc0e795b is described below

commit 44fc0e795bc02d064c3e517bd0004615bbd7fa6d
Author: Xinyuan Lin <[email protected]>
AuthorDate: Wed Feb 11 02:06:12 2026 -0800

    update
---
 .../amber/engine/architecture/scheduling/Schedule.scala  | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git 
a/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/Schedule.scala
 
b/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/Schedule.scala
index c4b9c34c6c..20f2994221 100644
--- 
a/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/Schedule.scala
+++ 
b/amber/src/main/scala/org/apache/texera/amber/engine/architecture/scheduling/Schedule.scala
@@ -19,10 +19,14 @@
 
 package org.apache.texera.amber.engine.architecture.scheduling
 
+import org.apache.texera.amber.core.executor.OpExecWithClassName
+import org.apache.texera.amber.operator.loop.LoopEndOpDesc
+import org.apache.texera.amber.util.JSONUtils.objectMapper
+
 case class Schedule(private val levelSets: Map[Int, Set[Region]]) extends 
Iterator[Set[Region]] {
   private var currentLevel = levelSets.keys.minOption.getOrElse(0)
   private var loopStartLevel = currentLevel
-  private var i = 0
+  private var i = 1
 
   def getRegions: List[Region] = levelSets.values.flatten.toList
 
@@ -37,10 +41,14 @@ case class Schedule(private val levelSets: Map[Int, 
Set[Region]]) extends Iterat
 
   def loopNext(): Set[Region] = {
     val regions = levelSets(currentLevel)
-    
if(regions.exists(_.getOperators.exists(_.id.logicalOpId.id.startsWith("LoopEnd-operator-")))
 && i < 5) {
-      currentLevel = loopStartLevel
-      i+=1
+
+    
if(regions.exists(_.getOperators.exists(_.id.logicalOpId.id.startsWith("LoopEnd-operator-"))))
 {
+      if (i < 
objectMapper.readValue(regions.head.getOperators.head.opExecInitInfo.asInstanceOf[OpExecWithClassName].descString,
 classOf[LoopEndOpDesc]).iteration) {
+        currentLevel = loopStartLevel
+        i+=1
+      }
     }
+
     currentLevel += 1
     regions
   }

Reply via email to