This is an automated email from the ASF dual-hosted git repository. github-merge-queue[bot] pushed a commit to branch gh-readonly-queue/main/pr-6894-f12bafcb99b5f4b8676356331291a972361823a3 in repository https://gitbox.apache.org/repos/asf/texera.git
commit f5aaad2c884ab00d57cc9d965bdaf870efe4a358 Author: Martin Vu <[email protected]> AuthorDate: Mon Jul 27 12:19:30 2026 -0700 fix: Correct FilledAreaPlot x-value validation across groups (#6894) ### What changes were proposed in this PR? Fixed the FilledAreaPlot validation logic for grouped data with shared X-values. ```diff - X_values = x_values.union(set(group[$x].unique())) + x_values = x_values.union(set(group[$x].unique())) ``` Previously, the validation incorrectly handled X-value comparisons between groups, causing valid charts to be rejected. The logic was updated so that X-values are tracked across groups correctly when checking whether groups share compatible X attributes. Before: <img width="1197" height="684" alt="Screenshot 2026-07-23 at 2 42 16 AM" src="https://github.com/user-attachments/assets/51936cc6-a207-4afd-94e4-a0206db651ba" /> After: <img width="1198" height="601" alt="Screenshot 2026-07-25 at 2 17 10 AM" src="https://github.com/user-attachments/assets/50dbb422-cad3-4623-92c8-ba5c7ca79dde" /> ### Any related issues, documentation, discussions? Fixes #6728 ### How was this PR tested? Tested by running Texera locally and executing a FilledAreaPlot workflow with grouped data. CSV File: [filled_area_test.csv](https://github.com/user-attachments/files/30370844/filled_area_test.csv) Verified: - Valid grouped charts are accepted and rendered. - Invalid inputs missing X/Y attributes still return the appropriate error message. - Python UDF execution works after generating Python proto bindings and installing required Python dependencies. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: ChatGPT (GPT-5.5-mini) --- .../operator/visualization/filledAreaPlot/FilledAreaPlotOpDesc.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/filledAreaPlot/FilledAreaPlotOpDesc.scala b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/filledAreaPlot/FilledAreaPlotOpDesc.scala index 92435342db..975cc4d892 100644 --- a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/filledAreaPlot/FilledAreaPlotOpDesc.scala +++ b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/visualization/filledAreaPlot/FilledAreaPlotOpDesc.scala @@ -121,7 +121,7 @@ class FilledAreaPlotOpDesc extends PythonOperatorDescriptor { | if x_values == None: | x_values = set(group[$x].unique()) | elif set(group[$x].unique()).intersection(x_values): - | X_values = x_values.union(set(group[$x].unique())) + | x_values = x_values.union(set(group[$x].unique())) | elif not set(group[$x].unique()).intersection(x_values): | count += 1 | if count > tolerance:
