digraph G {
0 [id="node0" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
1 [id="node1" labelType="html" label="<br><b>DeserializeToObject</b><br><br>" tooltip="DeserializeToObject createexternalrow(invoke(shardId#3569165.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3569166L)), mapobjects(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1), if (isnull(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1))) null else createexternalrow(static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).quantityAfterProdPlantOptimization)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).qty)), StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true)), items#3569167, Some(class scala.collection.mutable.ArraySeq)), mapobjects(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2))) null else createexternalrow(invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).optGroupId.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).assignmentDetails.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderProfile.toString()), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal)) null else createexternalrow(static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.minOrderValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.calculatedOrderValue)), static_invoke(java.lang.Integer.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.dimensionType)), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unit.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unitUuid.toString()), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.negligibleQuantitiesThreshold)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.acceptanceThreshold)), StructField(minOrderValue,DoubleType,true), StructField(calculatedOrderValue,DoubleType,true), StructField(dimensionType,IntegerType,true), StructField(unit,StringType,true), StructField(unitUuid,StringType,true), StructField(negligibleQuantitiesThreshold,DoubleType,true), StructField(acceptanceThreshold,DoubleType,true)), StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)), optimizationGroups#3569168, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3569169)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3569170)), mapobjects(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3), createexternalrow(invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).internalInsightType.toString()), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).thresholdValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).reachedValue)), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).unitOfMeasure.toString()), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).assignmentDetails.toString()), StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false)), optimizationInsights#3569171, Some(class scala.collection.mutable.ArraySeq)), StructField(shardId,StringType,true), StructField(orderProposalId,LongType,true), StructField(items,ArrayType(StructType(StructField(worklistShardItemId,LongType,true),StructField(quantityAfterProdPlantOptimization,DoubleType,true),StructField(qty,DoubleType,true)),true),true), StructField(optimizationGroups,ArrayType(StructType(StructField(optGroupId,StringType,true),StructField(assignmentDetails,StringType,true),StructField(minOrderProfile,StringType,true),StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)),true),true), StructField(isOptimal,BooleanType,true), StructField(lastModified,TimestampType,true), StructField(optimizationInsights,ArrayType(StructType(StructField(internalInsightType,StringType,false),StructField(worklistShardItemId,LongType,true),StructField(thresholdValue,DoubleType,true),StructField(reachedValue,DoubleType,true),StructField(unitOfMeasure,StringType,true),StructField(assignmentDetails,StringType,false)),false),true)), obj#3569309: org.apache.spark.sql.Row"];
subgraph cluster2 {
isCluster="true";
id="cluster2";
label="WholeStageCodegen (8)";
tooltip="WholeStageCodegen (8)";
3 [id="node3" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]"];
4 [id="node4" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [shardId#3569165, orderProposalId#3569166L, lastModified#3569170], [shardId#3569188, orderProposalId#3569189L, lastModified#3569179], Inner, BuildRight, false"];
}
5 [id="node5" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster6 {
isCluster="true";
id="cluster6";
label="WholeStageCodegen (7)";
tooltip="WholeStageCodegen (7)";
7 [id="node7" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((isnotnull(shardId#3569165) AND isnotnull(orderProposalId#3569166L)) AND isnotnull(lastModified#3569170))"];
8 [id="node8" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#3569165,orderProposalId#3569166L,items#3569167,optimizationGroups#3569168,isOptimal#3569169,lastModified#3569170,optimizationInsights#3569171]"];
}
9 [id="node9" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[shardId#3565255, orderProposalId#3565257L], functions=[collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)])"];
10 [id="node10" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 23<br>partition data size total (min, med, max (stageId: taskId))<br>1829.6 KiB (50.7 KiB, 86.4 KiB, 109.4 KiB (driver))<br>number of coalesced partitions: 14" tooltip="AQEShuffleRead coalesced"];
11 [id="node11" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 48,410<br>data size total (min, med, max (stageId: taskId))<br>7.0 MiB (190.2 KiB, 195.1 KiB, 200.7 KiB (stage 331634.0: task 932325))<br>shuffle write time total (min, med, max (stageId: taskId))<br>76 ms (1 ms, 2 ms, 3 ms (stage 331634.0: task 932370))<br>number of partitions: 37<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>1743.5 KiB (46.0 KiB, 47.2 KiB, 48.4 KiB (stage 331634.0: task 932358))" tooltip="Exchange hashpartitioning(shardId#3565255, orderProposalId#3565257L, 37), ENSURE_REQUIREMENTS, [plan_id=1021196]"];
12 [id="node12" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 48,410<br>time in aggregation build total (min, med, max (stageId: taskId))<br>5.3 s (5 ms, 9 ms, 675 ms (stage 331634.0: task 932321))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 331634.0: task 932317))<br>number of sort fallback tasks: 37" tooltip="ObjectHashAggregate(keys=[shardId#3565255, orderProposalId#3565257L], functions=[partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)])"];
subgraph cluster13 {
isCluster="true";
id="cluster13";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n4.9 s (3 ms, 7 ms, 650 ms (stage 331634.0: task 932315))";
tooltip="WholeStageCodegen (1)";
14 [id="node14" labelType="html" label="<b>Filter</b><br><br>number of output rows: 87,939" tooltip="Filter (isnotnull(shardId#3565255) AND isnotnull(orderProposalId#3565257L))"];
}
15 [id="node15" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 87,939" tooltip="InMemoryTableScan [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L], [isnotnull(shardId#3565255), isnotnull(orderProposalId#3565257L)]"];
16 [id="node16" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster17 {
isCluster="true";
id="cluster17";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
18 [id="node18" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [0_1_10000000532 AS shardId#3565255, worklistShardItemId#3565427L, orderProposalId#3565404L, orderProposalItemId#3565405, orderProposalItemGroupId#3565428, originalReplenishmentRunId#3565446L, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, cast(sequenceId#3565426 as bigint) AS sequenceId#3565265L, sourceOfSupplyUuid#3565418, supplierGroup#3565406, supplier#3565407, subrange#3565410, product#3565413, plant#3565408, purchasingOrg#3565419, purchasingGroup#3565420, mrpController#3565417, orderDateTime#3565414, deliveryDateTime#3565409, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, isFallbackOrderOnly#3565421, ... 20 more fields]"];
}
19 [id="node19" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 0<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 0<br>local bytes read: 0.0 B<br>merged fetch fallback count: 0<br>local blocks read: 0<br>remote merged chunks fetched: 0<br>remote blocks read: 0<br>data size: 0.0 B<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time: 0 ms<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time: 0 ms<br>remote bytes read: 0.0 B<br>remote reqs duration: 0 ms<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written: 0.0 B" tooltip="Exchange hashpartitioning(worklistShardItemId#3565427L, 37), REPARTITION_BY_NUM, [plan_id=1020728]"];
subgraph cluster20 {
isCluster="true";
id="cluster20";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
21 [id="node21" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, ... 19 more fields]"];
22 [id="node22" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((isnotnull(availabilityDateTime#3565415) AND isnotnull(nextAvailabilityDateTime#3565416)) AND (nextAvailabilityDateTime#3565416 > availabilityDateTime#3565415))"];
23 [id="node23" labelType="html" label="<br><b>ColumnarToRow</b><br><br>" tooltip="ColumnarToRow"];
}
24 [id="node24" labelType="html" label="<br><b>Scan parquet </b><br><br>" tooltip="FileScan parquet [orderProposalId#3565404L,orderProposalItemId#3565405,supplierGroup#3565406,supplier#3565407,plant#3565408,deliveryDateTime#3565409,subrange#3565410,supplyingPlant#3565411,productGroup#3565412,product#3565413,orderDateTime#3565414,availabilityDateTime#3565415,nextAvailabilityDateTime#3565416,mrpController#3565417,sourceOfSupplyUuid#3565418,purchasingOrg#3565419,purchasingGroup#3565420,isFallbackOrderOnly#3565421,orderProposalHorizonGroupingId#3565422L,splitIndicator#3565423L,previousOrderProposal#3565424L,clusterId#3565425L,worklistShardItemId#3565427L,orderProposalItemGroupId#3565428,externalProductId#3565429,... 20 more fields] Batched: true, DataFilters: [isnotnull(availabilityDateTime#3565415), isnotnull(nextAvailabilityDateTime#3565416), (nextAvail..., Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#3565448), isnotnull(sequenceId#3565426), (shardId#3565448 = 0_1_10000000532), ..., PushedFilters: [IsNotNull(availabilityDateTime), IsNotNull(nextAvailabilityDateTime)], ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,pla..."];
25 [id="node25" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 1 ms<br>time to build: 7 ms<br>time to collect: 95 ms<br>number of output rows: 4,883<br>data size: 2.3 MiB" tooltip="BroadcastExchange HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true], input[2, timestamp, false]),false), [plan_id=1021399]"];
subgraph cluster26 {
isCluster="true";
id="cluster26";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n93 ms (28 ms, 30 ms, 35 ms (stage 331852.0: task 932433))";
tooltip="WholeStageCodegen (6)";
27 [id="node27" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,883" tooltip="Filter isnotnull(lastModified#3569179)"];
28 [id="node28" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>87 ms (26 ms, 27 ms, 34 ms (stage 331852.0: task 932433))<br>peak memory total (min, med, max (stageId: taskId))<br>6.8 MiB (2.3 MiB, 2.3 MiB, 2.3 MiB (stage 331852.0: task 932431))<br>number of output rows: 4,883<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 331852.0: task 932431))" tooltip="HashAggregate(keys=[shardId#3569188, orderProposalId#3569189L], functions=[max(lastModified#3569193)])"];
}
29 [id="node29" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 3<br>partition data size total (min, med, max (stageId: taskId))<br>176.3 KiB (51.9 KiB, 52.7 KiB, 71.8 KiB (driver))<br>number of coalesced partitions: 3" tooltip="AQEShuffleRead coalesced"];
30 [id="node30" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,883<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 4,883<br>local bytes read total (min, med, max (stageId: taskId))<br>83.8 KiB (21.5 KiB, 28.4 KiB, 34.0 KiB (stage 331852.0: task 932433))<br>merged fetch fallback count: 0<br>local blocks read: 528<br>remote merged chunks fetched: 0<br>remote blocks read: 553<br>data size total (min, med, max (stageId: taskId))<br>228.9 KiB (4.6 KiB, 5.0 KiB, 7.7 KiB (stage 331743.0: task 932426))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>72 ms (0 ms, 1 ms, 2 ms (stage 331743.0: task 932398))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 331852.0: task 932431))<br>remote bytes read total (min, med, max (stageId: taskId))<br>84.5 KiB (21.9 KiB, 28.0 KiB, 34.6 KiB (stage 331852.0: task 932433))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>26 ms (5 ms, 9 ms, 12 ms (stage 331852.0: task 932433))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>168.3 KiB (1749.0 B, 4.7 KiB, 5.1 KiB (stage 331743.0: task 932411))" tooltip="Exchange hashpartitioning(shardId#3569188, orderProposalId#3569189L, 37), ENSURE_REQUIREMENTS, [plan_id=1021336]"];
subgraph cluster31 {
isCluster="true";
id="cluster31";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n1.8 s (14 ms, 22 ms, 124 ms (stage 331743.0: task 932397))";
tooltip="WholeStageCodegen (5)";
32 [id="node32" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>1.3 s (11 ms, 19 ms, 79 ms (stage 331743.0: task 932397))<br>peak memory total (min, med, max (stageId: taskId))<br>10.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 331743.0: task 932396))<br>number of output rows: 4,883<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3569188, orderProposalId#3569189L], functions=[partial_max(lastModified#3569193)])"];
}
33 [id="node33" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster34 {
isCluster="true";
id="cluster34";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n1.8 s (12 ms, 18 ms, 152 ms (stage 331743.0: task 932397))";
tooltip="WholeStageCodegen (3)";
35 [id="node35" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#3569188, orderProposalId#3569189L, lastModified#3569193]"];
36 [id="node36" labelType="html" label="<b>Filter</b><br><br>number of output rows: 3,135" tooltip="Filter (isnotnull(shardId#3569188) AND isnotnull(orderProposalId#3569189L))"];
37 [id="node37" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 3,135" tooltip="Scan ExistingRDD[shardId#3569188,orderProposalId#3569189L,items#3569190,optimizationGroups#3569191,isOptimal#3569192,lastModified#3569193,optimizationInsights#3569194]"];
}
subgraph cluster38 {
isCluster="true";
id="cluster38";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n245 ms (14 ms, 20 ms, 24 ms (stage 331743.0: task 932420))";
tooltip="WholeStageCodegen (4)";
39 [id="node39" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>184 ms (11 ms, 14 ms, 19 ms (stage 331743.0: task 932420))<br>peak memory total (min, med, max (stageId: taskId))<br>3.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 331743.0: task 932425))<br>number of output rows: 1,748<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3569195, orderProposalId#3569197L], functions=[])"];
}
40 [id="node40" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 12<br>partition data size total (min, med, max (stageId: taskId))<br>720.0 KiB (51.9 KiB, 59.7 KiB, 66.8 KiB (driver))<br>number of coalesced partitions: 12" tooltip="AQEShuffleRead coalesced"];
41 [id="node41" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 48,410<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 48,410<br>local bytes read total (min, med, max (stageId: taskId))<br>349.6 KiB (23.0 KiB, 29.5 KiB, 34.7 KiB (stage 331743.0: task 932422))<br>merged fetch fallback count: 0<br>local blocks read: 695<br>remote merged chunks fetched: 0<br>remote blocks read: 674<br>data size total (min, med, max (stageId: taskId))<br>1891.0 KiB (49.9 KiB, 51.3 KiB, 52.5 KiB (stage 331635.0: task 932375))<br>local merged bytes read: 0.0 B<br>local merged chunks fetched: 0<br>shuffle write time total (min, med, max (stageId: taskId))<br>75 ms (1 ms, 2 ms, 2 ms (stage 331635.0: task 932359))<br>remote merged bytes read: 0.0 B<br>local merged blocks fetched: 0<br>corrupt merged block chunks: 0<br>fetch wait time total (min, med, max (stageId: taskId))<br>0 ms (0 ms, 0 ms, 0 ms (stage 331743.0: task 932425))<br>remote bytes read total (min, med, max (stageId: taskId))<br>339.9 KiB (24.3 KiB, 28.0 KiB, 33.7 KiB (stage 331743.0: task 932426))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>90 ms (2 ms, 7 ms, 15 ms (stage 331743.0: task 932426))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>689.5 KiB (18.3 KiB, 18.7 KiB, 19.0 KiB (stage 331635.0: task 932375))" tooltip="Exchange hashpartitioning(shardId#3569195, orderProposalId#3569197L, 37), ENSURE_REQUIREMENTS, [plan_id=1021232]"];
subgraph cluster42 {
isCluster="true";
id="cluster42";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n560 ms (7 ms, 10 ms, 40 ms (stage 331635.0: task 932335))";
tooltip="WholeStageCodegen (2)";
43 [id="node43" labelType="html" label="<b>HashAggregate</b><br><br>spill size: 0.0 B<br>time in aggregation build total (min, med, max (stageId: taskId))<br>204 ms (3 ms, 4 ms, 11 ms (stage 331635.0: task 932333))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 331635.0: task 932332))<br>number of output rows: 48,410<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3569195, orderProposalId#3569197L], functions=[])"];
44 [id="node44" labelType="html" label="<b>Filter</b><br><br>number of output rows: 87,939" tooltip="Filter (isnotnull(shardId#3569195) AND isnotnull(orderProposalId#3569197L))"];
}
45 [id="node45" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 87,939" tooltip="InMemoryTableScan [shardId#3569195, orderProposalId#3569197L], [isnotnull(shardId#3569195), isnotnull(orderProposalId#3569197L)]"];
46 [id="node46" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster47 {
isCluster="true";
id="cluster47";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
48 [id="node48" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [0_1_10000000532 AS shardId#3565255, worklistShardItemId#3565427L, orderProposalId#3565404L, orderProposalItemId#3565405, orderProposalItemGroupId#3565428, originalReplenishmentRunId#3565446L, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, cast(sequenceId#3565426 as bigint) AS sequenceId#3565265L, sourceOfSupplyUuid#3565418, supplierGroup#3565406, supplier#3565407, subrange#3565410, product#3565413, plant#3565408, purchasingOrg#3565419, purchasingGroup#3565420, mrpController#3565417, orderDateTime#3565414, deliveryDateTime#3565409, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, isFallbackOrderOnly#3565421, ... 20 more fields]"];
}
1->0;
3->1;
4->3;
5->4;
7->5;
8->7;
9->5;
10->9;
11->10;
12->11;
14->12;
15->14;
16->15;
18->16;
19->18;
21->19;
22->21;
23->22;
24->23;
25->4;
27->25;
28->27;
29->28;
30->29;
32->30;
33->32;
35->33;
36->35;
37->36;
39->33;
40->39;
41->40;
43->41;
44->43;
45->44;
46->45;
48->46;
19->48;
}
== Physical Plan ==
AdaptiveSparkPlan (74)
+- == Final Plan ==
ResultQueryStage (50), Statistics(sizeInBytes=8.0 EiB)
+- DeserializeToObject (49)
+- * Project (48)
+- * BroadcastHashJoin Inner BuildRight (47)
:- Union (25)
: :- * Filter (2)
: : +- * Scan ExistingRDD (1)
: +- ObjectHashAggregate (24)
: +- AQEShuffleRead (23)
: +- ShuffleQueryStage (22), Statistics(sizeInBytes=7.0 MiB, rowCount=4.84E+4)
: +- Exchange (21)
: +- ObjectHashAggregate (20)
: +- * Filter (19)
: +- TableCacheQueryStage (18), Statistics(sizeInBytes=101.3 MiB, rowCount=8.79E+4)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=114.1 MiB, rowCount=8.79E+4)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
+- BroadcastQueryStage (46), Statistics(sizeInBytes=2.3 MiB, rowCount=4.88E+3)
+- BroadcastExchange (45)
+- * Filter (44)
+- * HashAggregate (43)
+- AQEShuffleRead (42)
+- ShuffleQueryStage (41), Statistics(sizeInBytes=228.9 KiB, rowCount=4.88E+3)
+- Exchange (40)
+- * HashAggregate (39)
+- Union (38)
:- * Project (28)
: +- * Filter (27)
: +- * Scan ExistingRDD (26)
+- * HashAggregate (37)
+- AQEShuffleRead (36)
+- ShuffleQueryStage (35), Statistics(sizeInBytes=1891.0 KiB, rowCount=4.84E+4)
+- Exchange (34)
+- * HashAggregate (33)
+- * Filter (32)
+- TableCacheQueryStage (31), Statistics(sizeInBytes=101.3 MiB, rowCount=8.79E+4)
+- InMemoryTableScan (29)
+- InMemoryRelation (30)
+- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=114.1 MiB, rowCount=8.79E+4)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
+- == Initial Plan ==
DeserializeToObject (73)
+- Project (72)
+- SortMergeJoin Inner (71)
:- Sort (59)
: +- Exchange (58)
: +- Union (57)
: :- Filter (52)
: : +- Scan ExistingRDD (51)
: +- ObjectHashAggregate (56)
: +- Exchange (55)
: +- ObjectHashAggregate (54)
: +- Filter (53)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=114.1 MiB, rowCount=8.79E+4)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
+- Sort (70)
+- Exchange (69)
+- Filter (68)
+- HashAggregate (67)
+- Exchange (66)
+- HashAggregate (65)
+- Union (64)
:- Project (28)
: +- Filter (27)
: +- Scan ExistingRDD (26)
+- HashAggregate (63)
+- Exchange (62)
+- HashAggregate (61)
+- Filter (60)
+- InMemoryTableScan (29)
+- InMemoryRelation (30)
+- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=114.1 MiB, rowCount=8.79E+4)
+- Exchange (9)
+- * Project (8)
+- * Filter (7)
+- * ColumnarToRow (6)
+- Scan parquet (5)
+- == Initial Plan ==
Project (16)
+- Exchange (15)
+- Project (14)
+- Filter (13)
+- Scan parquet (5)
(1) Scan ExistingRDD [codegen id : 7]
Output [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Arguments: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171], MapPartitionsRDD[151604] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(2) Filter [codegen id : 7]
Input [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Condition : ((isnotnull(shardId#3569165) AND isnotnull(orderProposalId#3569166L)) AND isnotnull(lastModified#3569170))
(3) InMemoryTableScan
Output [3]: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L]
Arguments: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L], [isnotnull(shardId#3565255), isnotnull(orderProposalId#3565257L)]
(4) InMemoryRelation
Arguments: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L, orderProposalItemId#3565258, orderProposalItemGroupId#3565259, originalReplenishmentRunId#3565260L, orderProposalHorizonGroupingId#3565261L, splitIndicator#3565262L, previousOrderProposal#3565263L, clusterId#3565264L, sequenceId#3565265L, sourceOfSupplyUuid#3565266, supplierGroup#3565267, supplier#3565268, subrange#3565269, product#3565270, plant#3565271, purchasingOrg#3565272, purchasingGroup#3565273, mrpController#3565274, orderDateTime#3565275, deliveryDateTime#3565276, availabilityDateTime#3565277, nextAvailabilityDateTime#3565278, isFallbackOrderOnly#3565279, ... 20 more fields], StorageLevel(disk, memory, 2 replicas)
(5) Scan parquet
Output [45]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447, shardId#3565448, sequenceId#3565426]
Batched: true
Location: PreparedDeltaFileIndex [hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20.hanacloud.ondemand.com:443/crp-order-qty-opt-service/internal/prod-plant-snapshot/10000000532]
PartitionFilters: [isnotnull(shardId#3565448), isnotnull(sequenceId#3565426), (shardId#3565448 = 0_1_10000000532), (sequenceId#3565426 = 7)]
PushedFilters: [IsNotNull(availabilityDateTime), IsNotNull(nextAvailabilityDateTime)]
ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,plant:string,deliveryDateTime:timestamp,subrange:string,supplyingPlant:string,productGroup:string,product:string,orderDateTime:timestamp,availabilityDateTime:timestamp,nextAvailabilityDateTime:timestamp,mrpController:string,sourceOfSupplyUuid:string,purchasingOrg:string,purchasingGroup:string,isFallbackOrderOnly:boolean,orderProposalHorizonGroupingId:bigint,splitIndicator:bigint,previousOrderProposal:bigint,clusterId:bigint,worklistShardItemId:bigint,orderProposalItemGroupId:string,externalProductId:string,externalPlantId:string,logisticUnits:array<struct<uom:string,uomUuid:string,numerator:int,denominator:int,isOrderUnit:boolean,isPreferred:boolean>>,orderQuantityBaseUom:string,orderQuantityBaseUomUuid:string,minimumOrderQuantity:double,constraintLabels:array<string>,constraintOperators:array<string>,constraintValues:array<double>,constraintRanks:array<int>,constraintIsActive:array<boolean>,netPriceAmount:double,netPriceCurrencyCode:string,netPriceQuantity:double,netPriceQuantityUom:string,netPriceQuantityUomUuid:string,measurements:array<struct<value:double,dimensionType:int,dimensionCode:string,dimensionCodeUuid:string,isoCode:string>>,originalReplenishmentRunId:bigint,optimizationGroups:array<string>>
(6) ColumnarToRow [codegen id : 1]
Input [45]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447, shardId#3565448, sequenceId#3565426]
(7) Filter [codegen id : 1]
Input [45]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447, shardId#3565448, sequenceId#3565426]
Condition : ((isnotnull(availabilityDateTime#3565415) AND isnotnull(nextAvailabilityDateTime#3565416)) AND (nextAvailabilityDateTime#3565416 > availabilityDateTime#3565415))
(8) Project [codegen id : 1]
Output [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
Input [45]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447, shardId#3565448, sequenceId#3565426]
(9) Exchange
Input [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
Arguments: hashpartitioning(worklistShardItemId#3565427L, 37), REPARTITION_BY_NUM, [plan_id=1020728]
(10) ShuffleQueryStage
Output [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
Arguments: 0
(11) Project [codegen id : 2]
Output [45]: [0_1_10000000532 AS shardId#3565255, worklistShardItemId#3565427L, orderProposalId#3565404L, orderProposalItemId#3565405, orderProposalItemGroupId#3565428, originalReplenishmentRunId#3565446L, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, cast(sequenceId#3565426 as bigint) AS sequenceId#3565265L, sourceOfSupplyUuid#3565418, supplierGroup#3565406, supplier#3565407, subrange#3565410, product#3565413, plant#3565408, purchasingOrg#3565419, purchasingGroup#3565420, mrpController#3565417, orderDateTime#3565414, deliveryDateTime#3565409, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, isFallbackOrderOnly#3565421, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, netPriceAmount#3565440, netPriceCurrencyCode#3565441, measurements#3565445, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintRanks#3565438, constraintValues#3565437, constraintIsActive#3565439, logisticUnits#3565431, optimizationGroups#3565447, externalProductId#3565429, externalPlantId#3565430, supplyingPlant#3565411, productGroup#3565412]
Input [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
(12) ResultQueryStage
Output [45]: [shardId#3565255, worklistShardItemId#3565427L, orderProposalId#3565404L, orderProposalItemId#3565405, orderProposalItemGroupId#3565428, originalReplenishmentRunId#3565446L, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565265L, sourceOfSupplyUuid#3565418, supplierGroup#3565406, supplier#3565407, subrange#3565410, product#3565413, plant#3565408, purchasingOrg#3565419, purchasingGroup#3565420, mrpController#3565417, orderDateTime#3565414, deliveryDateTime#3565409, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, isFallbackOrderOnly#3565421, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, netPriceAmount#3565440, netPriceCurrencyCode#3565441, measurements#3565445, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintRanks#3565438, constraintValues#3565437, constraintIsActive#3565439, logisticUnits#3565431, optimizationGroups#3565447, externalProductId#3565429, externalPlantId#3565430, supplyingPlant#3565411, productGroup#3565412]
Arguments: 1
(13) Filter
Input [45]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447, shardId#3565448, sequenceId#3565426]
Condition : ((isnotnull(availabilityDateTime#3565415) AND isnotnull(nextAvailabilityDateTime#3565416)) AND (nextAvailabilityDateTime#3565416 > availabilityDateTime#3565415))
(14) Project
Output [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
Input [45]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447, shardId#3565448, sequenceId#3565426]
(15) Exchange
Input [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
Arguments: hashpartitioning(worklistShardItemId#3565427L, 37), REPARTITION_BY_NUM, [plan_id=1020700]
(16) Project
Output [45]: [0_1_10000000532 AS shardId#3565255, worklistShardItemId#3565427L, orderProposalId#3565404L, orderProposalItemId#3565405, orderProposalItemGroupId#3565428, originalReplenishmentRunId#3565446L, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, cast(sequenceId#3565426 as bigint) AS sequenceId#3565265L, sourceOfSupplyUuid#3565418, supplierGroup#3565406, supplier#3565407, subrange#3565410, product#3565413, plant#3565408, purchasingOrg#3565419, purchasingGroup#3565420, mrpController#3565417, orderDateTime#3565414, deliveryDateTime#3565409, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, isFallbackOrderOnly#3565421, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, netPriceAmount#3565440, netPriceCurrencyCode#3565441, measurements#3565445, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintRanks#3565438, constraintValues#3565437, constraintIsActive#3565439, logisticUnits#3565431, optimizationGroups#3565447, externalProductId#3565429, externalPlantId#3565430, supplyingPlant#3565411, productGroup#3565412]
Input [44]: [orderProposalId#3565404L, orderProposalItemId#3565405, supplierGroup#3565406, supplier#3565407, plant#3565408, deliveryDateTime#3565409, subrange#3565410, supplyingPlant#3565411, productGroup#3565412, product#3565413, orderDateTime#3565414, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, mrpController#3565417, sourceOfSupplyUuid#3565418, purchasingOrg#3565419, purchasingGroup#3565420, isFallbackOrderOnly#3565421, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565426, worklistShardItemId#3565427L, orderProposalItemGroupId#3565428, externalProductId#3565429, externalPlantId#3565430, logisticUnits#3565431, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintValues#3565437, constraintRanks#3565438, constraintIsActive#3565439, netPriceAmount#3565440, netPriceCurrencyCode#3565441, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, measurements#3565445, originalReplenishmentRunId#3565446L, optimizationGroups#3565447]
(17) AdaptiveSparkPlan
Output [45]: [shardId#3565255, worklistShardItemId#3565427L, orderProposalId#3565404L, orderProposalItemId#3565405, orderProposalItemGroupId#3565428, originalReplenishmentRunId#3565446L, orderProposalHorizonGroupingId#3565422L, splitIndicator#3565423L, previousOrderProposal#3565424L, clusterId#3565425L, sequenceId#3565265L, sourceOfSupplyUuid#3565418, supplierGroup#3565406, supplier#3565407, subrange#3565410, product#3565413, plant#3565408, purchasingOrg#3565419, purchasingGroup#3565420, mrpController#3565417, orderDateTime#3565414, deliveryDateTime#3565409, availabilityDateTime#3565415, nextAvailabilityDateTime#3565416, isFallbackOrderOnly#3565421, orderQuantityBaseUom#3565432, orderQuantityBaseUomUuid#3565433, netPriceQuantity#3565442, netPriceQuantityUom#3565443, netPriceQuantityUomUuid#3565444, netPriceAmount#3565440, netPriceCurrencyCode#3565441, measurements#3565445, minimumOrderQuantity#3565434, constraintLabels#3565435, constraintOperators#3565436, constraintRanks#3565438, constraintValues#3565437, constraintIsActive#3565439, logisticUnits#3565431, optimizationGroups#3565447, externalProductId#3565429, externalPlantId#3565430, supplyingPlant#3565411, productGroup#3565412]
Arguments: isFinalPlan=true
(18) TableCacheQueryStage
Output [3]: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L]
Arguments: 0
(19) Filter [codegen id : 1]
Input [3]: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L]
Condition : (isnotnull(shardId#3565255) AND isnotnull(orderProposalId#3565257L))
(20) ObjectHashAggregate
Input [3]: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L]
Keys [2]: [shardId#3565255, orderProposalId#3565257L]
Functions [1]: [partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [buf#3570660]
Results [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
(21) Exchange
Input [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
Arguments: hashpartitioning(shardId#3565255, orderProposalId#3565257L, 37), ENSURE_REQUIREMENTS, [plan_id=1021196]
(22) ShuffleQueryStage [codegen id : 7]
Output [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
Arguments: 2
(23) AQEShuffleRead [codegen id : 7]
Input [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
Arguments: coalesced
(24) ObjectHashAggregate [codegen id : 7]
Input [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
Keys [2]: [shardId#3565255, orderProposalId#3565257L]
Functions [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3569156]
Results [7]: [shardId#3565255, orderProposalId#3565257L, cast(transform(collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3569156, lambdafunction(struct(worklistShardItemId, lambda x_11824#3569177.worklistShardItemId, quantityAfterProdPlantOptimization, lambda x_11824#3569177.quantityAfterProdPlantOptimization, qty, lambda x_11824#3569177.optimalQuantity), lambda x_11824#3569177, false)) as array<struct<worklistShardItemId:bigint,quantityAfterProdPlantOptimization:double,qty:double>>) AS items#3569178, [] AS optimizationGroups#3569172, false AS isOptimal#3569157, 2026-08-31 14:16:10.268557 AS lastModified#3569176, [] AS optimizationInsights#3569173]
(25) Union
(26) Scan ExistingRDD [codegen id : 3]
Output [7]: [shardId#3569188, orderProposalId#3569189L, items#3569190, optimizationGroups#3569191, isOptimal#3569192, lastModified#3569193, optimizationInsights#3569194]
Arguments: [shardId#3569188, orderProposalId#3569189L, items#3569190, optimizationGroups#3569191, isOptimal#3569192, lastModified#3569193, optimizationInsights#3569194], MapPartitionsRDD[151604] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(27) Filter [codegen id : 3]
Input [7]: [shardId#3569188, orderProposalId#3569189L, items#3569190, optimizationGroups#3569191, isOptimal#3569192, lastModified#3569193, optimizationInsights#3569194]
Condition : (isnotnull(shardId#3569188) AND isnotnull(orderProposalId#3569189L))
(28) Project [codegen id : 3]
Output [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569193]
Input [7]: [shardId#3569188, orderProposalId#3569189L, items#3569190, optimizationGroups#3569191, isOptimal#3569192, lastModified#3569193, optimizationInsights#3569194]
(29) InMemoryTableScan
Output [2]: [shardId#3569195, orderProposalId#3569197L]
Arguments: [shardId#3569195, orderProposalId#3569197L], [isnotnull(shardId#3569195), isnotnull(orderProposalId#3569197L)]
(30) InMemoryRelation
Arguments: [shardId#3569195, worklistShardItemId#3569196L, orderProposalId#3569197L, orderProposalItemId#3569198, orderProposalItemGroupId#3569199, originalReplenishmentRunId#3569200L, orderProposalHorizonGroupingId#3569201L, splitIndicator#3569202L, previousOrderProposal#3569203L, clusterId#3569204L, sequenceId#3569205L, sourceOfSupplyUuid#3569206, supplierGroup#3569207, supplier#3569208, subrange#3569209, product#3569210, plant#3569211, purchasingOrg#3569212, purchasingGroup#3569213, mrpController#3569214, orderDateTime#3569215, deliveryDateTime#3569216, availabilityDateTime#3569217, nextAvailabilityDateTime#3569218, isFallbackOrderOnly#3569219, ... 20 more fields], StorageLevel(disk, memory, 2 replicas)
(31) TableCacheQueryStage
Output [2]: [shardId#3569195, orderProposalId#3569197L]
Arguments: 1
(32) Filter [codegen id : 2]
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Condition : (isnotnull(shardId#3569195) AND isnotnull(orderProposalId#3569197L))
(33) HashAggregate [codegen id : 2]
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Keys [2]: [shardId#3569195, orderProposalId#3569197L]
Functions: []
Aggregate Attributes: []
Results [2]: [shardId#3569195, orderProposalId#3569197L]
(34) Exchange
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Arguments: hashpartitioning(shardId#3569195, orderProposalId#3569197L, 37), ENSURE_REQUIREMENTS, [plan_id=1021232]
(35) ShuffleQueryStage
Output [2]: [shardId#3569195, orderProposalId#3569197L]
Arguments: 3
(36) AQEShuffleRead
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Arguments: coalesced
(37) HashAggregate [codegen id : 4]
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Keys [2]: [shardId#3569195, orderProposalId#3569197L]
Functions: []
Aggregate Attributes: []
Results [3]: [shardId#3569195, orderProposalId#3569197L, 2026-08-31 14:16:10.268557 AS lastModified#3569292]
(38) Union
(39) HashAggregate [codegen id : 5]
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569193]
Keys [2]: [shardId#3569188, orderProposalId#3569189L]
Functions [1]: [partial_max(lastModified#3569193)]
Aggregate Attributes [1]: [max#3570662]
Results [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
(40) Exchange
Input [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
Arguments: hashpartitioning(shardId#3569188, orderProposalId#3569189L, 37), ENSURE_REQUIREMENTS, [plan_id=1021336]
(41) ShuffleQueryStage
Output [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
Arguments: 4
(42) AQEShuffleRead
Input [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
Arguments: coalesced
(43) HashAggregate [codegen id : 6]
Input [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
Keys [2]: [shardId#3569188, orderProposalId#3569189L]
Functions [1]: [max(lastModified#3569193)]
Aggregate Attributes [1]: [max(lastModified#3569193)#3569187]
Results [3]: [shardId#3569188, orderProposalId#3569189L, max(lastModified#3569193)#3569187 AS lastModified#3569179]
(44) Filter [codegen id : 6]
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Condition : isnotnull(lastModified#3569179)
(45) BroadcastExchange
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Arguments: HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true], input[2, timestamp, false]),false), [plan_id=1021399]
(46) BroadcastQueryStage
Output [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Arguments: 5
(47) BroadcastHashJoin [codegen id : 8]
Left keys [3]: [shardId#3569165, orderProposalId#3569166L, lastModified#3569170]
Right keys [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Join type: Inner
Join condition: None
(48) Project [codegen id : 8]
Output [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Input [10]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171, shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
(49) DeserializeToObject
Input [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Arguments: createexternalrow(invoke(shardId#3569165.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3569166L)), mapobjects(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1), if (isnull(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1))) null else createexternalrow(static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).quantityAfterProdPlantOptimization)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).qty)), StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true)), items#3569167, Some(class scala.collection.mutable.ArraySeq)), mapobjects(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2))) null else createexternalrow(invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).optGroupId.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).assignmentDetails.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderProfile.toString()), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal)) null else createexternalrow(static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.minOrderValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.calculatedOrderValue)), static_invoke(java.lang.Integer.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.dimensionType)), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unit.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unitUuid.toString()), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.negligibleQuantitiesThreshold)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.acceptanceThreshold)), StructField(minOrderValue,DoubleType,true), StructField(calculatedOrderValue,DoubleType,true), StructField(dimensionType,IntegerType,true), StructField(unit,StringType,true), StructField(unitUuid,StringType,true), StructField(negligibleQuantitiesThreshold,DoubleType,true), StructField(acceptanceThreshold,DoubleType,true)), StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)), optimizationGroups#3569168, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3569169)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3569170)), mapobjects(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3), createexternalrow(invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).internalInsightType.toString()), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).thresholdValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).reachedValue)), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).unitOfMeasure.toString()), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).assignmentDetails.toString()), StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false)), optimizationInsights#3569171, Some(class scala.collection.mutable.ArraySeq)), StructField(shardId,StringType,true), StructField(orderProposalId,LongType,true), StructField(items,ArrayType(StructType(StructField(worklistShardItemId,LongType,true),StructField(quantityAfterProdPlantOptimization,DoubleType,true),StructField(qty,DoubleType,true)),true),true), StructField(optimizationGroups,ArrayType(StructType(StructField(optGroupId,StringType,true),StructField(assignmentDetails,StringType,true),StructField(minOrderProfile,StringType,true),StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)),true),true), StructField(isOptimal,BooleanType,true), StructField(lastModified,TimestampType,true), StructField(optimizationInsights,ArrayType(StructType(StructField(internalInsightType,StringType,false),StructField(worklistShardItemId,LongType,true),StructField(thresholdValue,DoubleType,true),StructField(reachedValue,DoubleType,true),StructField(unitOfMeasure,StringType,true),StructField(assignmentDetails,StringType,false)),false),true)), obj#3569309: org.apache.spark.sql.Row
(50) ResultQueryStage
Output [1]: [obj#3569309]
Arguments: 6
(51) Scan ExistingRDD
Output [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Arguments: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171], MapPartitionsRDD[151604] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(52) Filter
Input [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Condition : ((isnotnull(shardId#3569165) AND isnotnull(orderProposalId#3569166L)) AND isnotnull(lastModified#3569170))
(53) Filter
Input [3]: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L]
Condition : (isnotnull(shardId#3565255) AND isnotnull(orderProposalId#3565257L))
(54) ObjectHashAggregate
Input [3]: [shardId#3565255, worklistShardItemId#3565256L, orderProposalId#3565257L]
Keys [2]: [shardId#3565255, orderProposalId#3565257L]
Functions [1]: [partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [buf#3570660]
Results [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
(55) Exchange
Input [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
Arguments: hashpartitioning(shardId#3565255, orderProposalId#3565257L, 37), ENSURE_REQUIREMENTS, [plan_id=1021025]
(56) ObjectHashAggregate
Input [3]: [shardId#3565255, orderProposalId#3565257L, buf#3570661]
Keys [2]: [shardId#3565255, orderProposalId#3565257L]
Functions [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3569156]
Results [7]: [shardId#3565255, orderProposalId#3565257L, cast(transform(collect_list(struct(worklistShardItemId, worklistShardItemId#3565256L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3569156, lambdafunction(struct(worklistShardItemId, lambda x_11824#3569177.worklistShardItemId, quantityAfterProdPlantOptimization, lambda x_11824#3569177.quantityAfterProdPlantOptimization, qty, lambda x_11824#3569177.optimalQuantity), lambda x_11824#3569177, false)) as array<struct<worklistShardItemId:bigint,quantityAfterProdPlantOptimization:double,qty:double>>) AS items#3569178, [] AS optimizationGroups#3569172, false AS isOptimal#3569157, 2026-08-31 14:16:10.268557 AS lastModified#3569176, [] AS optimizationInsights#3569173]
(57) Union
(58) Exchange
Input [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Arguments: hashpartitioning(shardId#3569165, orderProposalId#3569166L, lastModified#3569170, 37), ENSURE_REQUIREMENTS, [plan_id=1021038]
(59) Sort
Input [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Arguments: [shardId#3569165 ASC NULLS FIRST, orderProposalId#3569166L ASC NULLS FIRST, lastModified#3569170 ASC NULLS FIRST], false, 0
(60) Filter
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Condition : (isnotnull(shardId#3569195) AND isnotnull(orderProposalId#3569197L))
(61) HashAggregate
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Keys [2]: [shardId#3569195, orderProposalId#3569197L]
Functions: []
Aggregate Attributes: []
Results [2]: [shardId#3569195, orderProposalId#3569197L]
(62) Exchange
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Arguments: hashpartitioning(shardId#3569195, orderProposalId#3569197L, 37), ENSURE_REQUIREMENTS, [plan_id=1021028]
(63) HashAggregate
Input [2]: [shardId#3569195, orderProposalId#3569197L]
Keys [2]: [shardId#3569195, orderProposalId#3569197L]
Functions: []
Aggregate Attributes: []
Results [3]: [shardId#3569195, orderProposalId#3569197L, 2026-08-31 14:16:10.268557 AS lastModified#3569292]
(64) Union
(65) HashAggregate
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569193]
Keys [2]: [shardId#3569188, orderProposalId#3569189L]
Functions [1]: [partial_max(lastModified#3569193)]
Aggregate Attributes [1]: [max#3570662]
Results [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
(66) Exchange
Input [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
Arguments: hashpartitioning(shardId#3569188, orderProposalId#3569189L, 37), ENSURE_REQUIREMENTS, [plan_id=1021033]
(67) HashAggregate
Input [3]: [shardId#3569188, orderProposalId#3569189L, max#3570663]
Keys [2]: [shardId#3569188, orderProposalId#3569189L]
Functions [1]: [max(lastModified#3569193)]
Aggregate Attributes [1]: [max(lastModified#3569193)#3569187]
Results [3]: [shardId#3569188, orderProposalId#3569189L, max(lastModified#3569193)#3569187 AS lastModified#3569179]
(68) Filter
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Condition : isnotnull(lastModified#3569179)
(69) Exchange
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Arguments: hashpartitioning(shardId#3569188, orderProposalId#3569189L, lastModified#3569179, 37), ENSURE_REQUIREMENTS, [plan_id=1021039]
(70) Sort
Input [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Arguments: [shardId#3569188 ASC NULLS FIRST, orderProposalId#3569189L ASC NULLS FIRST, lastModified#3569179 ASC NULLS FIRST], false, 0
(71) SortMergeJoin
Left keys [3]: [shardId#3569165, orderProposalId#3569166L, lastModified#3569170]
Right keys [3]: [shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
Join type: Inner
Join condition: None
(72) Project
Output [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Input [10]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171, shardId#3569188, orderProposalId#3569189L, lastModified#3569179]
(73) DeserializeToObject
Input [7]: [shardId#3569165, orderProposalId#3569166L, items#3569167, optimizationGroups#3569168, isOptimal#3569169, lastModified#3569170, optimizationInsights#3569171]
Arguments: createexternalrow(invoke(shardId#3569165.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3569166L)), mapobjects(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1), if (isnull(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1))) null else createexternalrow(static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).quantityAfterProdPlantOptimization)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true), true, -1).qty)), StructField(worklistShardItemId,LongType,true), StructField(quantityAfterProdPlantOptimization,DoubleType,true), StructField(qty,DoubleType,true)), items#3569167, Some(class scala.collection.mutable.ArraySeq)), mapobjects(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2))) null else createexternalrow(invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).optGroupId.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).assignmentDetails.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderProfile.toString()), if (isnull(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal)) null else createexternalrow(static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.minOrderValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.calculatedOrderValue)), static_invoke(java.lang.Integer.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.dimensionType)), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unit.toString()), invoke(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.unitUuid.toString()), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.negligibleQuantitiesThreshold)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true), true, -2).minOrderGoal.acceptanceThreshold)), StructField(minOrderValue,DoubleType,true), StructField(calculatedOrderValue,DoubleType,true), StructField(dimensionType,IntegerType,true), StructField(unit,StringType,true), StructField(unitUuid,StringType,true), StructField(negligibleQuantitiesThreshold,DoubleType,true), StructField(acceptanceThreshold,DoubleType,true)), StructField(optGroupId,StringType,true), StructField(assignmentDetails,StringType,true), StructField(minOrderProfile,StringType,true), StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)), optimizationGroups#3569168, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3569169)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3569170)), mapobjects(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3), createexternalrow(invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).internalInsightType.toString()), static_invoke(java.lang.Long.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).worklistShardItemId)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).thresholdValue)), static_invoke(java.lang.Double.valueOf(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).reachedValue)), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).unitOfMeasure.toString()), invoke(lambdavariable(MapObject, StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false), false, -3).assignmentDetails.toString()), StructField(internalInsightType,StringType,false), StructField(worklistShardItemId,LongType,true), StructField(thresholdValue,DoubleType,true), StructField(reachedValue,DoubleType,true), StructField(unitOfMeasure,StringType,true), StructField(assignmentDetails,StringType,false)), optimizationInsights#3569171, Some(class scala.collection.mutable.ArraySeq)), StructField(shardId,StringType,true), StructField(orderProposalId,LongType,true), StructField(items,ArrayType(StructType(StructField(worklistShardItemId,LongType,true),StructField(quantityAfterProdPlantOptimization,DoubleType,true),StructField(qty,DoubleType,true)),true),true), StructField(optimizationGroups,ArrayType(StructType(StructField(optGroupId,StringType,true),StructField(assignmentDetails,StringType,true),StructField(minOrderProfile,StringType,true),StructField(minOrderGoal,StructType(StructField(minOrderValue,DoubleType,true),StructField(calculatedOrderValue,DoubleType,true),StructField(dimensionType,IntegerType,true),StructField(unit,StringType,true),StructField(unitUuid,StringType,true),StructField(negligibleQuantitiesThreshold,DoubleType,true),StructField(acceptanceThreshold,DoubleType,true)),true)),true),true), StructField(isOptimal,BooleanType,true), StructField(lastModified,TimestampType,true), StructField(optimizationInsights,ArrayType(StructType(StructField(internalInsightType,StringType,false),StructField(worklistShardItemId,LongType,true),StructField(thresholdValue,DoubleType,true),StructField(reachedValue,DoubleType,true),StructField(unitOfMeasure,StringType,true),StructField(assignmentDetails,StringType,false)),false),true)), obj#3569309: org.apache.spark.sql.Row
(74) AdaptiveSparkPlan
Output [1]: [obj#3569309]
Arguments: isFinalPlan=true