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#3383046.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3383047L)), 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#3383048, 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#3383049, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3383050)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3383051)), 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#3383052, 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#3383190: 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#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]"];
4 [id="node4" labelType="html" label="<br><b>BroadcastHashJoin</b><br><br>" tooltip="BroadcastHashJoin [shardId#3383046, orderProposalId#3383047L, lastModified#3383051], [shardId#3383069, orderProposalId#3383070L, lastModified#3383060], 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#3383046) AND isnotnull(orderProposalId#3383047L)) AND isnotnull(lastModified#3383051))"];
8 [id="node8" labelType="html" label="<br><b>Scan ExistingRDD</b><br><br>" tooltip="Scan ExistingRDD[shardId#3383046,orderProposalId#3383047L,items#3383048,optimizationGroups#3383049,isOptimal#3383050,lastModified#3383051,optimizationInsights#3383052]"];
}
9 [id="node9" labelType="html" label="<br><b>ObjectHashAggregate</b><br><br>" tooltip="ObjectHashAggregate(keys=[shardId#3379907, orderProposalId#3379909L], functions=[collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)])"];
10 [id="node10" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 65,528<br>data size total (min, med, max (stageId: taskId))<br>9.6 MiB (257.1 KiB, 265.1 KiB, 272.9 KiB (stage 304582.0: task 881228))<br>shuffle write time total (min, med, max (stageId: taskId))<br>83 ms (1 ms, 2 ms, 3 ms (stage 304582.0: task 881261))<br>number of partitions: 37<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>2.2 MiB (59.0 KiB, 60.6 KiB, 62.0 KiB (stage 304582.0: task 881228))" tooltip="Exchange hashpartitioning(shardId#3379907, orderProposalId#3379909L, 37), ENSURE_REQUIREMENTS, [plan_id=972365]"];
11 [id="node11" labelType="html" label="<b>ObjectHashAggregate</b><br><br>number of output rows: 65,528<br>time in aggregation build total (min, med, max (stageId: taskId))<br>5.6 s (6 ms, 12 ms, 690 ms (stage 304582.0: task 881212))<br>spill size total (min, med, max (stageId: taskId))<br>0.0 B (0.0 B, 0.0 B, 0.0 B (stage 304582.0: task 881205))<br>number of sort fallback tasks: 37" tooltip="ObjectHashAggregate(keys=[shardId#3379907, orderProposalId#3379909L], functions=[partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)])"];
subgraph cluster12 {
isCluster="true";
id="cluster12";
label="WholeStageCodegen (1)\n \nduration: total (min, med, max (stageId: taskId))\n5.0 s (4 ms, 9 ms, 650 ms (stage 304582.0: task 881209))";
tooltip="WholeStageCodegen (1)";
13 [id="node13" labelType="html" label="<b>Filter</b><br><br>number of output rows: 119,861" tooltip="Filter (isnotnull(shardId#3379907) AND isnotnull(orderProposalId#3379909L))"];
}
14 [id="node14" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 119,861" tooltip="InMemoryTableScan [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L], [isnotnull(shardId#3379907), isnotnull(orderProposalId#3379909L)]"];
15 [id="node15" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster16 {
isCluster="true";
id="cluster16";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
17 [id="node17" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [0_5_10000000532 AS shardId#3379907, worklistShardItemId#3379975L, orderProposalId#3379952L, orderProposalItemId#3379953, orderProposalItemGroupId#3379976, originalReplenishmentRunId#3379994L, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, cast(sequenceId#3379974 as bigint) AS sequenceId#3379917L, sourceOfSupplyUuid#3379966, supplierGroup#3379954, supplier#3379955, subrange#3379958, product#3379961, plant#3379956, purchasingOrg#3379967, purchasingGroup#3379968, mrpController#3379965, orderDateTime#3379962, deliveryDateTime#3379957, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, isFallbackOrderOnly#3379969, ... 20 more fields]"];
}
18 [id="node18" 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#3379975L, 37), REPARTITION_BY_NUM, [plan_id=971947]"];
subgraph cluster19 {
isCluster="true";
id="cluster19";
label="WholeStageCodegen (1)";
tooltip="WholeStageCodegen (1)";
20 [id="node20" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, ... 19 more fields]"];
21 [id="node21" labelType="html" label="<br><b>Filter</b><br><br>" tooltip="Filter ((isnotnull(availabilityDateTime#3379963) AND isnotnull(nextAvailabilityDateTime#3379964)) AND (nextAvailabilityDateTime#3379964 > availabilityDateTime#3379963))"];
22 [id="node22" labelType="html" label="<br><b>ColumnarToRow</b><br><br>" tooltip="ColumnarToRow"];
}
23 [id="node23" labelType="html" label="<br><b>Scan parquet </b><br><br>" tooltip="FileScan parquet [orderProposalId#3379952L,orderProposalItemId#3379953,supplierGroup#3379954,supplier#3379955,plant#3379956,deliveryDateTime#3379957,subrange#3379958,supplyingPlant#3379959,productGroup#3379960,product#3379961,orderDateTime#3379962,availabilityDateTime#3379963,nextAvailabilityDateTime#3379964,mrpController#3379965,sourceOfSupplyUuid#3379966,purchasingOrg#3379967,purchasingGroup#3379968,isFallbackOrderOnly#3379969,orderProposalHorizonGroupingId#3379970L,splitIndicator#3379971L,previousOrderProposal#3379972L,clusterId#3379973L,worklistShardItemId#3379975L,orderProposalItemGroupId#3379976,externalProductId#3379977,... 20 more fields] Batched: true, DataFilters: [isnotnull(availabilityDateTime#3379963), isnotnull(nextAvailabilityDateTime#3379964), (nextAvail..., Format: Parquet, Location: PreparedDeltaFileIndex(1 paths)[hdlfs://7da5304c-1f57-47fa-b75a-0f0b4349c280.files.hdl.prod-eu20...., PartitionFilters: [isnotnull(shardId#3379996), isnotnull(sequenceId#3379974), (shardId#3379996 = 0_5_10000000532), ..., PushedFilters: [IsNotNull(availabilityDateTime), IsNotNull(nextAvailabilityDateTime)], ReadSchema: struct<orderProposalId:bigint,orderProposalItemId:string,supplierGroup:string,supplier:string,pla..."];
24 [id="node24" labelType="html" label="<b>BroadcastExchange</b><br><br>time to broadcast: 1 ms<br>time to build: 7 ms<br>time to collect: 89 ms<br>number of output rows: 4,900<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=972568]"];
subgraph cluster25 {
isCluster="true";
id="cluster25";
label="WholeStageCodegen (6)\n \nduration: total (min, med, max (stageId: taskId))\n84 ms (27 ms, 28 ms, 29 ms (stage 304712.0: task 881321))";
tooltip="WholeStageCodegen (6)";
26 [id="node26" labelType="html" label="<b>Filter</b><br><br>number of output rows: 4,900" tooltip="Filter isnotnull(lastModified#3383060)"];
27 [id="node27" 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>76 ms (24 ms, 25 ms, 27 ms (stage 304712.0: task 881321))<br>peak memory total (min, med, max (stageId: taskId))<br>6.8 MiB (2.3 MiB, 2.3 MiB, 2.3 MiB (stage 304712.0: task 881320))<br>number of output rows: 4,900<br>number of sort fallback tasks: 0<br>avg hash probes per key (min, med, max (stageId: taskId)):<br>(1, 1, 1 (stage 304712.0: task 881320))" tooltip="HashAggregate(keys=[shardId#3383069, orderProposalId#3383070L], functions=[max(lastModified#3383074)])"];
}
28 [id="node28" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 3<br>partition data size total (min, med, max (stageId: taskId))<br>169.8 KiB (51.4 KiB, 54.7 KiB, 63.7 KiB (driver))<br>number of coalesced partitions: 3" tooltip="AQEShuffleRead coalesced"];
29 [id="node29" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 4,900<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 4,900<br>local bytes read total (min, med, max (stageId: taskId))<br>72.4 KiB (22.3 KiB, 22.6 KiB, 27.5 KiB (stage 304712.0: task 881320))<br>merged fetch fallback count: 0<br>local blocks read: 464<br>remote merged chunks fetched: 0<br>remote blocks read: 558<br>data size total (min, med, max (stageId: taskId))<br>229.7 KiB (3.7 KiB, 4.1 KiB, 11.4 KiB (stage 304647.0: task 881318))<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>70 ms (0 ms, 1 ms, 2 ms (stage 304647.0: task 881300))<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 304712.0: task 881320))<br>remote bytes read total (min, med, max (stageId: taskId))<br>89.4 KiB (21.5 KiB, 29.8 KiB, 38.0 KiB (stage 304712.0: task 881321))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>22 ms (5 ms, 7 ms, 10 ms (stage 304712.0: task 881321))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>161.8 KiB (1726.0 B, 4.2 KiB, 4.7 KiB (stage 304647.0: task 881295))" tooltip="Exchange hashpartitioning(shardId#3383069, orderProposalId#3383070L, 37), ENSURE_REQUIREMENTS, [plan_id=972505]"];
subgraph cluster30 {
isCluster="true";
id="cluster30";
label="WholeStageCodegen (5)\n \nduration: total (min, med, max (stageId: taskId))\n1.8 s (13 ms, 21 ms, 125 ms (stage 304647.0: task 881279))";
tooltip="WholeStageCodegen (5)";
31 [id="node31" 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 (10 ms, 17 ms, 84 ms (stage 304647.0: task 881279))<br>peak memory total (min, med, max (stageId: taskId))<br>11.0 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 304647.0: task 881280))<br>number of output rows: 4,900<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3383069, orderProposalId#3383070L], functions=[partial_max(lastModified#3383074)])"];
}
32 [id="node32" labelType="html" label="<br><b>Union</b><br><br>" tooltip="Union"];
subgraph cluster33 {
isCluster="true";
id="cluster33";
label="WholeStageCodegen (3)\n \nduration: total (min, med, max (stageId: taskId))\n1.8 s (11 ms, 18 ms, 161 ms (stage 304647.0: task 881279))";
tooltip="WholeStageCodegen (3)";
34 [id="node34" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [shardId#3383069, orderProposalId#3383070L, lastModified#3383074]"];
35 [id="node35" labelType="html" label="<b>Filter</b><br><br>number of output rows: 2,540" tooltip="Filter (isnotnull(shardId#3383069) AND isnotnull(orderProposalId#3383070L))"];
36 [id="node36" labelType="html" label="<b>Scan ExistingRDD</b><br><br>number of output rows: 2,540" tooltip="Scan ExistingRDD[shardId#3383069,orderProposalId#3383070L,items#3383071,optimizationGroups#3383072,isOptimal#3383073,lastModified#3383074,optimizationInsights#3383075]"];
}
subgraph cluster37 {
isCluster="true";
id="cluster37";
label="WholeStageCodegen (4)\n \nduration: total (min, med, max (stageId: taskId))\n269 ms (12 ms, 18 ms, 28 ms (stage 304647.0: task 881310))";
tooltip="WholeStageCodegen (4)";
38 [id="node38" 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>200 ms (10 ms, 13 ms, 23 ms (stage 304647.0: task 881310))<br>peak memory total (min, med, max (stageId: taskId))<br>3.5 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 304647.0: task 881314))<br>number of output rows: 2,360<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3383076, orderProposalId#3383078L], functions=[])"];
}
39 [id="node39" labelType="html" label="<b>AQEShuffleRead</b><br><br>number of partitions: 14<br>partition data size total (min, med, max (stageId: taskId))<br>932.4 KiB (50.5 KiB, 72.4 KiB, 97.2 KiB (driver))<br>number of coalesced partitions: 14" tooltip="AQEShuffleRead coalesced"];
40 [id="node40" labelType="html" label="<b>Exchange</b><br><br>shuffle records written: 65,528<br>remote merged reqs duration: 0 ms<br>remote merged blocks fetched: 0<br>records read: 65,528<br>local bytes read total (min, med, max (stageId: taskId))<br>447.7 KiB (22.5 KiB, 32.7 KiB, 42.3 KiB (stage 304647.0: task 881318))<br>merged fetch fallback count: 0<br>local blocks read: 689<br>remote merged chunks fetched: 0<br>remote blocks read: 680<br>data size total (min, med, max (stageId: taskId))<br>2.5 MiB (67.6 KiB, 69.3 KiB, 71.6 KiB (stage 304583.0: task 881256))<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>106 ms (1 ms, 2 ms, 14 ms (stage 304583.0: task 881247))<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>3 ms (0 ms, 0 ms, 2 ms (stage 304647.0: task 881317))<br>remote bytes read total (min, med, max (stageId: taskId))<br>440.0 KiB (21.9 KiB, 31.7 KiB, 50.1 KiB (stage 304647.0: task 881318))<br>number of partitions: 37<br>remote reqs duration total (min, med, max (stageId: taskId))<br>58 ms (1 ms, 3 ms, 11 ms (stage 304647.0: task 881317))<br>remote bytes read to disk: 0.0 B<br>shuffle bytes written total (min, med, max (stageId: taskId))<br>887.8 KiB (23.5 KiB, 24.0 KiB, 24.7 KiB (stage 304583.0: task 881256))" tooltip="Exchange hashpartitioning(shardId#3383076, orderProposalId#3383078L, 37), ENSURE_REQUIREMENTS, [plan_id=972401]"];
subgraph cluster41 {
isCluster="true";
id="cluster41";
label="WholeStageCodegen (2)\n \nduration: total (min, med, max (stageId: taskId))\n725 ms (9 ms, 13 ms, 49 ms (stage 304583.0: task 881221))";
tooltip="WholeStageCodegen (2)";
42 [id="node42" 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>285 ms (4 ms, 7 ms, 14 ms (stage 304583.0: task 881220))<br>peak memory total (min, med, max (stageId: taskId))<br>9.3 MiB (256.0 KiB, 256.0 KiB, 256.0 KiB (stage 304583.0: task 881220))<br>number of output rows: 65,528<br>number of sort fallback tasks: 0<br>avg hash probes per key: 0" tooltip="HashAggregate(keys=[shardId#3383076, orderProposalId#3383078L], functions=[])"];
43 [id="node43" labelType="html" label="<b>Filter</b><br><br>number of output rows: 119,861" tooltip="Filter (isnotnull(shardId#3383076) AND isnotnull(orderProposalId#3383078L))"];
}
44 [id="node44" labelType="html" label="<b>InMemoryTableScan</b><br><br>number of output rows: 119,861" tooltip="InMemoryTableScan [shardId#3383076, orderProposalId#3383078L], [isnotnull(shardId#3383076), isnotnull(orderProposalId#3383078L)]"];
45 [id="node45" labelType="html" label="<br><b>AdaptiveSparkPlan</b><br><br>" tooltip="AdaptiveSparkPlan isFinalPlan=true"];
subgraph cluster46 {
isCluster="true";
id="cluster46";
label="WholeStageCodegen (2)\n \nduration: 0 ms";
tooltip="WholeStageCodegen (2)";
47 [id="node47" labelType="html" label="<br><b>Project</b><br><br>" tooltip="Project [0_5_10000000532 AS shardId#3379907, worklistShardItemId#3379975L, orderProposalId#3379952L, orderProposalItemId#3379953, orderProposalItemGroupId#3379976, originalReplenishmentRunId#3379994L, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, cast(sequenceId#3379974 as bigint) AS sequenceId#3379917L, sourceOfSupplyUuid#3379966, supplierGroup#3379954, supplier#3379955, subrange#3379958, product#3379961, plant#3379956, purchasingOrg#3379967, purchasingGroup#3379968, mrpController#3379965, orderDateTime#3379962, deliveryDateTime#3379957, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, isFallbackOrderOnly#3379969, ... 20 more fields]"];
}
1->0;
3->1;
4->3;
5->4;
7->5;
8->7;
9->5;
10->9;
11->10;
13->11;
14->13;
15->14;
17->15;
18->17;
20->18;
21->20;
22->21;
23->22;
24->4;
26->24;
27->26;
28->27;
29->28;
31->29;
32->31;
34->32;
35->34;
36->35;
38->32;
39->38;
40->39;
42->40;
43->42;
44->43;
45->44;
47->45;
18->47;
}
== Physical Plan ==
AdaptiveSparkPlan (73)
+- == Final Plan ==
ResultQueryStage (49), Statistics(sizeInBytes=8.0 EiB)
+- DeserializeToObject (48)
+- * Project (47)
+- * BroadcastHashJoin Inner BuildRight (46)
:- Union (24)
: :- * Filter (2)
: : +- * Scan ExistingRDD (1)
: +- ObjectHashAggregate (23)
: +- ShuffleQueryStage (22), Statistics(sizeInBytes=9.6 MiB, rowCount=6.55E+4)
: +- Exchange (21)
: +- ObjectHashAggregate (20)
: +- * Filter (19)
: +- TableCacheQueryStage (18), Statistics(sizeInBytes=138.1 MiB, rowCount=1.20E+5)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=155.6 MiB, rowCount=1.20E+5)
+- 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 (45), Statistics(sizeInBytes=2.3 MiB, rowCount=4.90E+3)
+- BroadcastExchange (44)
+- * Filter (43)
+- * HashAggregate (42)
+- AQEShuffleRead (41)
+- ShuffleQueryStage (40), Statistics(sizeInBytes=229.7 KiB, rowCount=4.90E+3)
+- Exchange (39)
+- * HashAggregate (38)
+- Union (37)
:- * Project (27)
: +- * Filter (26)
: +- * Scan ExistingRDD (25)
+- * HashAggregate (36)
+- AQEShuffleRead (35)
+- ShuffleQueryStage (34), Statistics(sizeInBytes=2.5 MiB, rowCount=6.55E+4)
+- Exchange (33)
+- * HashAggregate (32)
+- * Filter (31)
+- TableCacheQueryStage (30), Statistics(sizeInBytes=138.1 MiB, rowCount=1.20E+5)
+- InMemoryTableScan (28)
+- InMemoryRelation (29)
+- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=155.6 MiB, rowCount=1.20E+5)
+- 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 (72)
+- Project (71)
+- SortMergeJoin Inner (70)
:- Sort (58)
: +- Exchange (57)
: +- Union (56)
: :- Filter (51)
: : +- Scan ExistingRDD (50)
: +- ObjectHashAggregate (55)
: +- Exchange (54)
: +- ObjectHashAggregate (53)
: +- Filter (52)
: +- InMemoryTableScan (3)
: +- InMemoryRelation (4)
: +- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=155.6 MiB, rowCount=1.20E+5)
+- 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 (69)
+- Exchange (68)
+- Filter (67)
+- HashAggregate (66)
+- Exchange (65)
+- HashAggregate (64)
+- Union (63)
:- Project (27)
: +- Filter (26)
: +- Scan ExistingRDD (25)
+- HashAggregate (62)
+- Exchange (61)
+- HashAggregate (60)
+- Filter (59)
+- InMemoryTableScan (28)
+- InMemoryRelation (29)
+- AdaptiveSparkPlan (17)
+- == Final Plan ==
ResultQueryStage (12)
+- * Project (11)
+- ShuffleQueryStage (10), Statistics(sizeInBytes=155.6 MiB, rowCount=1.20E+5)
+- 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#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Arguments: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052], MapPartitionsRDD[143337] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(2) Filter [codegen id : 7]
Input [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Condition : ((isnotnull(shardId#3383046) AND isnotnull(orderProposalId#3383047L)) AND isnotnull(lastModified#3383051))
(3) InMemoryTableScan
Output [3]: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L]
Arguments: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L], [isnotnull(shardId#3379907), isnotnull(orderProposalId#3379909L)]
(4) InMemoryRelation
Arguments: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L, orderProposalItemId#3379910, orderProposalItemGroupId#3379911, originalReplenishmentRunId#3379912L, orderProposalHorizonGroupingId#3379913L, splitIndicator#3379914L, previousOrderProposal#3379915L, clusterId#3379916L, sequenceId#3379917L, sourceOfSupplyUuid#3379918, supplierGroup#3379919, supplier#3379920, subrange#3379921, product#3379922, plant#3379923, purchasingOrg#3379924, purchasingGroup#3379925, mrpController#3379926, orderDateTime#3379927, deliveryDateTime#3379928, availabilityDateTime#3379929, nextAvailabilityDateTime#3379930, isFallbackOrderOnly#3379931, ... 20 more fields], StorageLevel(disk, memory, 2 replicas)
(5) Scan parquet
Output [45]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995, shardId#3379996, sequenceId#3379974]
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#3379996), isnotnull(sequenceId#3379974), (shardId#3379996 = 0_5_10000000532), (sequenceId#3379974 = 2)]
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#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995, shardId#3379996, sequenceId#3379974]
(7) Filter [codegen id : 1]
Input [45]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995, shardId#3379996, sequenceId#3379974]
Condition : ((isnotnull(availabilityDateTime#3379963) AND isnotnull(nextAvailabilityDateTime#3379964)) AND (nextAvailabilityDateTime#3379964 > availabilityDateTime#3379963))
(8) Project [codegen id : 1]
Output [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
Input [45]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995, shardId#3379996, sequenceId#3379974]
(9) Exchange
Input [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
Arguments: hashpartitioning(worklistShardItemId#3379975L, 37), REPARTITION_BY_NUM, [plan_id=971947]
(10) ShuffleQueryStage
Output [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
Arguments: 0
(11) Project [codegen id : 2]
Output [45]: [0_5_10000000532 AS shardId#3379907, worklistShardItemId#3379975L, orderProposalId#3379952L, orderProposalItemId#3379953, orderProposalItemGroupId#3379976, originalReplenishmentRunId#3379994L, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, cast(sequenceId#3379974 as bigint) AS sequenceId#3379917L, sourceOfSupplyUuid#3379966, supplierGroup#3379954, supplier#3379955, subrange#3379958, product#3379961, plant#3379956, purchasingOrg#3379967, purchasingGroup#3379968, mrpController#3379965, orderDateTime#3379962, deliveryDateTime#3379957, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, isFallbackOrderOnly#3379969, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, netPriceAmount#3379988, netPriceCurrencyCode#3379989, measurements#3379993, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintRanks#3379986, constraintValues#3379985, constraintIsActive#3379987, logisticUnits#3379979, optimizationGroups#3379995, externalProductId#3379977, externalPlantId#3379978, supplyingPlant#3379959, productGroup#3379960]
Input [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
(12) ResultQueryStage
Output [45]: [shardId#3379907, worklistShardItemId#3379975L, orderProposalId#3379952L, orderProposalItemId#3379953, orderProposalItemGroupId#3379976, originalReplenishmentRunId#3379994L, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379917L, sourceOfSupplyUuid#3379966, supplierGroup#3379954, supplier#3379955, subrange#3379958, product#3379961, plant#3379956, purchasingOrg#3379967, purchasingGroup#3379968, mrpController#3379965, orderDateTime#3379962, deliveryDateTime#3379957, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, isFallbackOrderOnly#3379969, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, netPriceAmount#3379988, netPriceCurrencyCode#3379989, measurements#3379993, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintRanks#3379986, constraintValues#3379985, constraintIsActive#3379987, logisticUnits#3379979, optimizationGroups#3379995, externalProductId#3379977, externalPlantId#3379978, supplyingPlant#3379959, productGroup#3379960]
Arguments: 1
(13) Filter
Input [45]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995, shardId#3379996, sequenceId#3379974]
Condition : ((isnotnull(availabilityDateTime#3379963) AND isnotnull(nextAvailabilityDateTime#3379964)) AND (nextAvailabilityDateTime#3379964 > availabilityDateTime#3379963))
(14) Project
Output [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
Input [45]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995, shardId#3379996, sequenceId#3379974]
(15) Exchange
Input [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
Arguments: hashpartitioning(worklistShardItemId#3379975L, 37), REPARTITION_BY_NUM, [plan_id=971919]
(16) Project
Output [45]: [0_5_10000000532 AS shardId#3379907, worklistShardItemId#3379975L, orderProposalId#3379952L, orderProposalItemId#3379953, orderProposalItemGroupId#3379976, originalReplenishmentRunId#3379994L, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, cast(sequenceId#3379974 as bigint) AS sequenceId#3379917L, sourceOfSupplyUuid#3379966, supplierGroup#3379954, supplier#3379955, subrange#3379958, product#3379961, plant#3379956, purchasingOrg#3379967, purchasingGroup#3379968, mrpController#3379965, orderDateTime#3379962, deliveryDateTime#3379957, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, isFallbackOrderOnly#3379969, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, netPriceAmount#3379988, netPriceCurrencyCode#3379989, measurements#3379993, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintRanks#3379986, constraintValues#3379985, constraintIsActive#3379987, logisticUnits#3379979, optimizationGroups#3379995, externalProductId#3379977, externalPlantId#3379978, supplyingPlant#3379959, productGroup#3379960]
Input [44]: [orderProposalId#3379952L, orderProposalItemId#3379953, supplierGroup#3379954, supplier#3379955, plant#3379956, deliveryDateTime#3379957, subrange#3379958, supplyingPlant#3379959, productGroup#3379960, product#3379961, orderDateTime#3379962, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, mrpController#3379965, sourceOfSupplyUuid#3379966, purchasingOrg#3379967, purchasingGroup#3379968, isFallbackOrderOnly#3379969, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379974, worklistShardItemId#3379975L, orderProposalItemGroupId#3379976, externalProductId#3379977, externalPlantId#3379978, logisticUnits#3379979, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintValues#3379985, constraintRanks#3379986, constraintIsActive#3379987, netPriceAmount#3379988, netPriceCurrencyCode#3379989, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, measurements#3379993, originalReplenishmentRunId#3379994L, optimizationGroups#3379995]
(17) AdaptiveSparkPlan
Output [45]: [shardId#3379907, worklistShardItemId#3379975L, orderProposalId#3379952L, orderProposalItemId#3379953, orderProposalItemGroupId#3379976, originalReplenishmentRunId#3379994L, orderProposalHorizonGroupingId#3379970L, splitIndicator#3379971L, previousOrderProposal#3379972L, clusterId#3379973L, sequenceId#3379917L, sourceOfSupplyUuid#3379966, supplierGroup#3379954, supplier#3379955, subrange#3379958, product#3379961, plant#3379956, purchasingOrg#3379967, purchasingGroup#3379968, mrpController#3379965, orderDateTime#3379962, deliveryDateTime#3379957, availabilityDateTime#3379963, nextAvailabilityDateTime#3379964, isFallbackOrderOnly#3379969, orderQuantityBaseUom#3379980, orderQuantityBaseUomUuid#3379981, netPriceQuantity#3379990, netPriceQuantityUom#3379991, netPriceQuantityUomUuid#3379992, netPriceAmount#3379988, netPriceCurrencyCode#3379989, measurements#3379993, minimumOrderQuantity#3379982, constraintLabels#3379983, constraintOperators#3379984, constraintRanks#3379986, constraintValues#3379985, constraintIsActive#3379987, logisticUnits#3379979, optimizationGroups#3379995, externalProductId#3379977, externalPlantId#3379978, supplyingPlant#3379959, productGroup#3379960]
Arguments: isFinalPlan=true
(18) TableCacheQueryStage
Output [3]: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L]
Arguments: 0
(19) Filter [codegen id : 1]
Input [3]: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L]
Condition : (isnotnull(shardId#3379907) AND isnotnull(orderProposalId#3379909L))
(20) ObjectHashAggregate
Input [3]: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L]
Keys [2]: [shardId#3379907, orderProposalId#3379909L]
Functions [1]: [partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [buf#3384541]
Results [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
(21) Exchange
Input [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
Arguments: hashpartitioning(shardId#3379907, orderProposalId#3379909L, 37), ENSURE_REQUIREMENTS, [plan_id=972365]
(22) ShuffleQueryStage [codegen id : 7]
Output [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
Arguments: 2
(23) ObjectHashAggregate [codegen id : 7]
Input [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
Keys [2]: [shardId#3379907, orderProposalId#3379909L]
Functions [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3383037]
Results [7]: [shardId#3379907, orderProposalId#3379909L, cast(transform(collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3383037, lambdafunction(struct(worklistShardItemId, lambda x_11185#3383058.worklistShardItemId, quantityAfterProdPlantOptimization, lambda x_11185#3383058.quantityAfterProdPlantOptimization, qty, lambda x_11185#3383058.optimalQuantity), lambda x_11185#3383058, false)) as array<struct<worklistShardItemId:bigint,quantityAfterProdPlantOptimization:double,qty:double>>) AS items#3383059, [] AS optimizationGroups#3383053, false AS isOptimal#3383038, 2026-08-31 13:52:35.116519 AS lastModified#3383057, [] AS optimizationInsights#3383054]
(24) Union
(25) Scan ExistingRDD [codegen id : 3]
Output [7]: [shardId#3383069, orderProposalId#3383070L, items#3383071, optimizationGroups#3383072, isOptimal#3383073, lastModified#3383074, optimizationInsights#3383075]
Arguments: [shardId#3383069, orderProposalId#3383070L, items#3383071, optimizationGroups#3383072, isOptimal#3383073, lastModified#3383074, optimizationInsights#3383075], MapPartitionsRDD[143337] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(26) Filter [codegen id : 3]
Input [7]: [shardId#3383069, orderProposalId#3383070L, items#3383071, optimizationGroups#3383072, isOptimal#3383073, lastModified#3383074, optimizationInsights#3383075]
Condition : (isnotnull(shardId#3383069) AND isnotnull(orderProposalId#3383070L))
(27) Project [codegen id : 3]
Output [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383074]
Input [7]: [shardId#3383069, orderProposalId#3383070L, items#3383071, optimizationGroups#3383072, isOptimal#3383073, lastModified#3383074, optimizationInsights#3383075]
(28) InMemoryTableScan
Output [2]: [shardId#3383076, orderProposalId#3383078L]
Arguments: [shardId#3383076, orderProposalId#3383078L], [isnotnull(shardId#3383076), isnotnull(orderProposalId#3383078L)]
(29) InMemoryRelation
Arguments: [shardId#3383076, worklistShardItemId#3383077L, orderProposalId#3383078L, orderProposalItemId#3383079, orderProposalItemGroupId#3383080, originalReplenishmentRunId#3383081L, orderProposalHorizonGroupingId#3383082L, splitIndicator#3383083L, previousOrderProposal#3383084L, clusterId#3383085L, sequenceId#3383086L, sourceOfSupplyUuid#3383087, supplierGroup#3383088, supplier#3383089, subrange#3383090, product#3383091, plant#3383092, purchasingOrg#3383093, purchasingGroup#3383094, mrpController#3383095, orderDateTime#3383096, deliveryDateTime#3383097, availabilityDateTime#3383098, nextAvailabilityDateTime#3383099, isFallbackOrderOnly#3383100, ... 20 more fields], StorageLevel(disk, memory, 2 replicas)
(30) TableCacheQueryStage
Output [2]: [shardId#3383076, orderProposalId#3383078L]
Arguments: 1
(31) Filter [codegen id : 2]
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Condition : (isnotnull(shardId#3383076) AND isnotnull(orderProposalId#3383078L))
(32) HashAggregate [codegen id : 2]
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Keys [2]: [shardId#3383076, orderProposalId#3383078L]
Functions: []
Aggregate Attributes: []
Results [2]: [shardId#3383076, orderProposalId#3383078L]
(33) Exchange
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Arguments: hashpartitioning(shardId#3383076, orderProposalId#3383078L, 37), ENSURE_REQUIREMENTS, [plan_id=972401]
(34) ShuffleQueryStage
Output [2]: [shardId#3383076, orderProposalId#3383078L]
Arguments: 3
(35) AQEShuffleRead
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Arguments: coalesced
(36) HashAggregate [codegen id : 4]
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Keys [2]: [shardId#3383076, orderProposalId#3383078L]
Functions: []
Aggregate Attributes: []
Results [3]: [shardId#3383076, orderProposalId#3383078L, 2026-08-31 13:52:35.116519 AS lastModified#3383173]
(37) Union
(38) HashAggregate [codegen id : 5]
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383074]
Keys [2]: [shardId#3383069, orderProposalId#3383070L]
Functions [1]: [partial_max(lastModified#3383074)]
Aggregate Attributes [1]: [max#3384543]
Results [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
(39) Exchange
Input [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
Arguments: hashpartitioning(shardId#3383069, orderProposalId#3383070L, 37), ENSURE_REQUIREMENTS, [plan_id=972505]
(40) ShuffleQueryStage
Output [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
Arguments: 4
(41) AQEShuffleRead
Input [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
Arguments: coalesced
(42) HashAggregate [codegen id : 6]
Input [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
Keys [2]: [shardId#3383069, orderProposalId#3383070L]
Functions [1]: [max(lastModified#3383074)]
Aggregate Attributes [1]: [max(lastModified#3383074)#3383068]
Results [3]: [shardId#3383069, orderProposalId#3383070L, max(lastModified#3383074)#3383068 AS lastModified#3383060]
(43) Filter [codegen id : 6]
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Condition : isnotnull(lastModified#3383060)
(44) BroadcastExchange
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Arguments: HashedRelationBroadcastMode(List(input[0, string, true], input[1, bigint, true], input[2, timestamp, false]),false), [plan_id=972568]
(45) BroadcastQueryStage
Output [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Arguments: 5
(46) BroadcastHashJoin [codegen id : 8]
Left keys [3]: [shardId#3383046, orderProposalId#3383047L, lastModified#3383051]
Right keys [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Join type: Inner
Join condition: None
(47) Project [codegen id : 8]
Output [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Input [10]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052, shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
(48) DeserializeToObject
Input [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Arguments: createexternalrow(invoke(shardId#3383046.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3383047L)), 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#3383048, 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#3383049, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3383050)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3383051)), 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#3383052, 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#3383190: org.apache.spark.sql.Row
(49) ResultQueryStage
Output [1]: [obj#3383190]
Arguments: 6
(50) Scan ExistingRDD
Output [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Arguments: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052], MapPartitionsRDD[143337] at createDataFrame at OptimalQuantitiesCacheImpl.java:212, ExistingRDD, UnknownPartitioning(0)
(51) Filter
Input [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Condition : ((isnotnull(shardId#3383046) AND isnotnull(orderProposalId#3383047L)) AND isnotnull(lastModified#3383051))
(52) Filter
Input [3]: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L]
Condition : (isnotnull(shardId#3379907) AND isnotnull(orderProposalId#3379909L))
(53) ObjectHashAggregate
Input [3]: [shardId#3379907, worklistShardItemId#3379908L, orderProposalId#3379909L]
Keys [2]: [shardId#3379907, orderProposalId#3379909L]
Functions [1]: [partial_collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [buf#3384541]
Results [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
(54) Exchange
Input [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
Arguments: hashpartitioning(shardId#3379907, orderProposalId#3379909L, 37), ENSURE_REQUIREMENTS, [plan_id=972194]
(55) ObjectHashAggregate
Input [3]: [shardId#3379907, orderProposalId#3379909L, buf#3384542]
Keys [2]: [shardId#3379907, orderProposalId#3379909L]
Functions [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)]
Aggregate Attributes [1]: [collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3383037]
Results [7]: [shardId#3379907, orderProposalId#3379909L, cast(transform(collect_list(struct(worklistShardItemId, worklistShardItemId#3379908L, quantityAfterProdPlantOptimization, null, optimalQuantity, null), 0, 0)#3383037, lambdafunction(struct(worklistShardItemId, lambda x_11185#3383058.worklistShardItemId, quantityAfterProdPlantOptimization, lambda x_11185#3383058.quantityAfterProdPlantOptimization, qty, lambda x_11185#3383058.optimalQuantity), lambda x_11185#3383058, false)) as array<struct<worklistShardItemId:bigint,quantityAfterProdPlantOptimization:double,qty:double>>) AS items#3383059, [] AS optimizationGroups#3383053, false AS isOptimal#3383038, 2026-08-31 13:52:35.116519 AS lastModified#3383057, [] AS optimizationInsights#3383054]
(56) Union
(57) Exchange
Input [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Arguments: hashpartitioning(shardId#3383046, orderProposalId#3383047L, lastModified#3383051, 37), ENSURE_REQUIREMENTS, [plan_id=972207]
(58) Sort
Input [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Arguments: [shardId#3383046 ASC NULLS FIRST, orderProposalId#3383047L ASC NULLS FIRST, lastModified#3383051 ASC NULLS FIRST], false, 0
(59) Filter
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Condition : (isnotnull(shardId#3383076) AND isnotnull(orderProposalId#3383078L))
(60) HashAggregate
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Keys [2]: [shardId#3383076, orderProposalId#3383078L]
Functions: []
Aggregate Attributes: []
Results [2]: [shardId#3383076, orderProposalId#3383078L]
(61) Exchange
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Arguments: hashpartitioning(shardId#3383076, orderProposalId#3383078L, 37), ENSURE_REQUIREMENTS, [plan_id=972197]
(62) HashAggregate
Input [2]: [shardId#3383076, orderProposalId#3383078L]
Keys [2]: [shardId#3383076, orderProposalId#3383078L]
Functions: []
Aggregate Attributes: []
Results [3]: [shardId#3383076, orderProposalId#3383078L, 2026-08-31 13:52:35.116519 AS lastModified#3383173]
(63) Union
(64) HashAggregate
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383074]
Keys [2]: [shardId#3383069, orderProposalId#3383070L]
Functions [1]: [partial_max(lastModified#3383074)]
Aggregate Attributes [1]: [max#3384543]
Results [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
(65) Exchange
Input [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
Arguments: hashpartitioning(shardId#3383069, orderProposalId#3383070L, 37), ENSURE_REQUIREMENTS, [plan_id=972202]
(66) HashAggregate
Input [3]: [shardId#3383069, orderProposalId#3383070L, max#3384544]
Keys [2]: [shardId#3383069, orderProposalId#3383070L]
Functions [1]: [max(lastModified#3383074)]
Aggregate Attributes [1]: [max(lastModified#3383074)#3383068]
Results [3]: [shardId#3383069, orderProposalId#3383070L, max(lastModified#3383074)#3383068 AS lastModified#3383060]
(67) Filter
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Condition : isnotnull(lastModified#3383060)
(68) Exchange
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Arguments: hashpartitioning(shardId#3383069, orderProposalId#3383070L, lastModified#3383060, 37), ENSURE_REQUIREMENTS, [plan_id=972208]
(69) Sort
Input [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Arguments: [shardId#3383069 ASC NULLS FIRST, orderProposalId#3383070L ASC NULLS FIRST, lastModified#3383060 ASC NULLS FIRST], false, 0
(70) SortMergeJoin
Left keys [3]: [shardId#3383046, orderProposalId#3383047L, lastModified#3383051]
Right keys [3]: [shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
Join type: Inner
Join condition: None
(71) Project
Output [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Input [10]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052, shardId#3383069, orderProposalId#3383070L, lastModified#3383060]
(72) DeserializeToObject
Input [7]: [shardId#3383046, orderProposalId#3383047L, items#3383048, optimizationGroups#3383049, isOptimal#3383050, lastModified#3383051, optimizationInsights#3383052]
Arguments: createexternalrow(invoke(shardId#3383046.toString()), static_invoke(java.lang.Long.valueOf(orderProposalId#3383047L)), 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#3383048, 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#3383049, Some(class scala.collection.mutable.ArraySeq)), static_invoke(java.lang.Boolean.valueOf(isOptimal#3383050)), static_invoke(DateTimeUtils.toJavaTimestamp(lastModified#3383051)), 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#3383052, 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#3383190: org.apache.spark.sql.Row
(73) AdaptiveSparkPlan
Output [1]: [obj#3383190]
Arguments: isFinalPlan=true