PG1204 opened a new issue, #9101:
URL: https://github.com/apache/texera/issues/9101

   ### Task Summary
   
   `RadarChartOpDesc` and `RadarPlotOpDesc` are two operators that draw the 
same chart, both listed under Visualization / Scientific as "Radar Chart" and 
"Radar Plot". Radar Plot is a superset. Remove the duplicate.
   
   ### Context
   
   Both are registered in `LogicalOp` (`"RadarChart"` and `"RadarPlot"`) and 
both appear in the palette, so a user wanting a radar chart has to guess which 
to pick.
   
   | | Radar Chart (`visualization/radarChart`) | Radar Plot 
(`visualization/radarPlot`) |
   |---|---|---|
   | Added | #4248, 2026-03-04 | #3500, 2026-04-17 |
   | Properties | name column, value columns, fill opacity | axes, trace name, 
trace colour, line pattern, max normalize, fill, markers, legend |
   | Maintained since | not touched since April | not-blank validation (#5640), 
unit tests (#5897) |
   
   Radar Plot does everything Radar Chart does and adds trace naming and 
colouring, normalization, line patterns and legend control, and it is the one 
that has received maintenance.
   
   The duplication was accidental rather than deliberate. #3500 was opened 
before #4248 but merged about six weeks later, so the smaller operator landed 
first and the fuller one arrived afterwards without the earlier one being 
removed - the commit that added Radar Plot even touched `RadarChartOpDesc` in 
the same change. I wrote Radar Chart (#4248), and with Radar Plot covering its 
functionality there's no reason to keep both.
   
   ### Proposed change
   
   Remove `RadarChartOpDesc`, its `LogicalOp` registration and its spec, 
keeping Radar Plot.
   
   The open question is what happens to saved workflows. `LogicalOp` registers 
the type name `"RadarChart"`, so a stored workflow naming it would fail to 
deserialize once the class is gone. No visualization operator has been removed 
before, and no existing `sql/updates` migration rewrites `operatorType` inside 
workflow content, so there is no established pattern to copy.
   
   Options for a maintainer to choose between:
   
   - a migration rewriting `"RadarChart"` nodes to `"RadarPlot"`, mapping name 
column → trace name and value columns → axes, with fill opacity dropped as it 
has no direct equivalent
   - deprecate first — hide it from the palette while keeping the class so 
existing workflows still load, and remove it in a later release
   - remove outright, accepting that affected workflows must be re-created
   
   ### Required test
   
   Whichever path is chosen, the operator-metadata tests should confirm the 
palette no longer offers two radar operators, and a migration, if written, 
needs coverage for a stored workflow carrying the old type.
   
   ### Task Type
   
   - [x] Refactor / Cleanup
   - [ ] DevOps / Deployment / CI
   - [ ] Testing / QA
   - [ ] Documentation
   - [ ] Performance
   - [ ] Other


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to