You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Exported Sklearn Prediction script fails when the configured ground truth column is missing from the input #8864
A workflow with a Sklearn Prediction operator runs fine in Texera when the "Ground Truth Attribute Name to Ignore" names a column missing from the data input. The engine silently ignores the missing name and scores the run. Exporting the same workflow as a standalone Python script and running it fails instead: the script exits with a KeyError naming the missing column and writes no predictions. I expected the exported script to behave like the engine and complete the run.
How to reproduce?
Build a workflow with a Sklearn Prediction operator fed by a fitted model frame and a data frame.
In the operator's properties, set "Ground Truth Attribute Name to Ignore" to a column name that does not exist in the data frame. A typo or a stale name from an earlier schema will do.
Run the workflow in Texera: it completes and produces predictions.
Export the workflow as a Python script and run it: the script ends with a KeyError for the missing column.
Thanks for the report. I tested this locally. When the name is sent to the engine, compilation fails with None.get at SklearnPredictionOpDesc.scala:96, so the engine never reaches the code that ignores a missing column. The run completes in the UI only because the frontend clears a column name that is not in the input. The real bug is that the engine's error should name the missing column instead of saying None.get, and I can open a PR for that.
Activity
Yicong-Huang commentedon Oct 5, 2026
@kz930 @aglinxinyuan — you two know this area best; would you take a look? Ignore if it is outside what you are working on.
kz930 commentedon Oct 6, 2026
Thanks for the report. I tested this locally. When the name is sent to the engine, compilation fails with
None.getatSklearnPredictionOpDesc.scala:96, so the engine never reaches the code that ignores a missing column. The run completes in the UI only because the frontend clears a column name that is not in the input. The real bug is that the engine's error should name the missing column instead of sayingNone.get, and I can open a PR for that.feat(workflow-operator): name the missing ground-truth column in Skle…
feat(workflow-operator): name the missing ground-truth column in Skle…