The GitHub Actions job "Benchmarks" on texera.git/fix/7548-null-cell-filters has succeeded. Run started by GitHub user Yicong-Huang (triggered by Yicong-Huang).
Head commit for run: c012a513a90e3c84249294477120018360f1c354 / kary zheng <[email protected]> fix(workflow-operator): answer the filter on an empty cell instead of throwing Substring Search and Unnest String both read their column and called toString on it with no null check, so a single blank cell took the workflow down with a NullPointerException. An empty value is ordinary input here. A blank CSV cell arrives as null: univocity returns null for an empty field, and AttributeTypeUtils.parseField passes it through by design, its first line being `if (field == null) return null`. So the null these two did not expect is the null the core layer promises to deliver. Both now skip, which is what the rest of the codebase does with a value that is not there. FilterPredicate answers false for every condition but IS_NULL / IS_NOT_NULL once a field is null. COUNT(column) counts only non-null rows, and CONCAT and MIN pass over them. Twenty-four operators open their generated Python with `dropna(subset=[...]) #remove missing values`. Substring Search filters the row out; Unnest String produces no rows, the same way its existing filter drops the empty pieces a run of delimiters produces. Each spec gains the case; both fail on the previous behavior. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/31534483317 With regards, GitHub Actions via GitBox
