Commit eae5060
authored
logicalplan: fix correctness issues in distributed optimizer (#702)
Fix isBinaryExpressionWithDistributableMatching to check all partition
labels instead of only the first one. The loop had a return statement
inside the body, causing it to exit on the first iteration. With
multiple partition labels (e.g. region + datacenter), only one arbitrary
label was checked, potentially allowing incorrect distribution.
Move LIMIT_RATIO from the mathematically distributive aggregation list
to the non-distributive group. Applying limit_ratio remotely and then
locally results in double-application (e.g. 0.5 * 0.5 = 0.25 ratio
instead of the intended 0.5). It can still be pushed as-is when
partition labels are preserved.
Add label_join handling alongside label_replace in both isDistributive
and preservesPartitionLabels. Previously, label_join targeting a
partition label (e.g. label_join(metric, "region", ...)) was not
detected, allowing incorrect distribution or partition label loss.
Signed-off-by: Michael Hoffmann <mhoffmann@cloudflare.com>1 parent 2ae49e5 commit eae5060
2 files changed
Lines changed: 113 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
659 | | - | |
| 659 | + | |
660 | 660 | | |
661 | 661 | | |
662 | 662 | | |
| |||
705 | 705 | | |
706 | 706 | | |
707 | 707 | | |
708 | | - | |
| 708 | + | |
709 | 709 | | |
710 | 710 | | |
711 | | - | |
| 711 | + | |
| 712 | + | |
712 | 713 | | |
713 | 714 | | |
714 | 715 | | |
715 | 716 | | |
716 | 717 | | |
717 | 718 | | |
718 | 719 | | |
719 | | - | |
| 720 | + | |
720 | 721 | | |
721 | 722 | | |
722 | 723 | | |
| |||
783 | 784 | | |
784 | 785 | | |
785 | 786 | | |
786 | | - | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
787 | 790 | | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | 791 | | |
792 | 792 | | |
793 | 793 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
359 | 373 | | |
360 | 374 | | |
361 | 375 | | |
| |||
1056 | 1070 | | |
1057 | 1071 | | |
1058 | 1072 | | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
1059 | 1154 | | |
1060 | 1155 | | |
1061 | 1156 | | |
| |||
1243 | 1338 | | |
1244 | 1339 | | |
1245 | 1340 | | |
| 1341 | + | |
| 1342 | + | |
| 1343 | + | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
1246 | 1351 | | |
1247 | 1352 | | |
1248 | 1353 | | |
| |||
0 commit comments