Hi : I read parts of the procedure v2 framework, and found that if a procedure has 3 added child procedure, then it's children will be schedued in the reversed order.
Let me give an example. if a procedure A added 3 child procedure: B, C , D. a.addChildProcedure(B, C, D) The procedure framework will add the B,C,D child produre in a dequeue to schedule ( Code Path --- ProcedureExecutor#execProcedure -- submitChildrenProcedures -- dequeue#addFront ) So the dequeue will be : (front) D, C, B (back) Then we will poll each procedure from the dequeue, and dispatch to the executor to run .. In the final, the procedure executing order will be : D, C, B, which is the revered order compared to the addChildProcedure order. My question is : is it designed intentionally ? Or unintentionally doing the wrong implementation ? Seems most the child procedure are region assign or unassign, looks like no problem now.. Please correct me if I am wrong or missing something. Thanks.