kazuyukitanimura opened a new issue, #5454:
URL: https://github.com/apache/datafusion-comet/issues/5454

   Triage pass over the open `requires-triage` queue, per the project [Bug 
Triage 
Guide](https://github.com/apache/datafusion-comet/blob/main/docs/source/contributor-guide/bug_triage.md).
   
   - Date: 2026-08-24
   - Total issues processed: 31 (28 classified, 3 skipped, 28 failed to label)
   - Type counts: 4 bugs, 24 enhancements
   - Priority counts (recommended): `priority:critical` 3, `priority:high` 0, 
`priority:medium` 0, `priority:low` 1
   
   > [!IMPORTANT]
   > **No labels were applied.** Every `gh issue edit` call was rejected with 
`GraphQL: Resource not accessible by personal access token 
(addLabelsToLabelable / removeLabelsFromLabelable)` — the token used for this 
pass has the repository `triage` role but was not granted the **Issues: Read 
and write** permission. All 31 issues therefore still carry `requires-triage`, 
and no issue's labels were modified (verified against a before/after snapshot).
   > The classifications below are **recommendations**. A committer needs to 
apply them, after which this issue can be closed. Every issue is also listed 
under *Failed to label*.
   
   ## Bugs
   
   ### priority:critical
   
   - Unsafe native partial aggregates survive child-triggered final fallback 
([#5419](https://github.com/apache/datafusion-comet/issues/5419))
     - Area labels: `area:aggregation`
     - Rationale: A native decimal-AVG partial that survives a child-triggered 
Spark final fallback silently returns NULL instead of 200.000000, matching the 
guide's critical example "type mismatches between partial and final aggregation 
stages" (correctness outranks crashes).
   
   - Incorrect AVG result from empty native partial buffers 
([#5418](https://github.com/apache/datafusion-comet/issues/5418))
     - Area labels: `area:aggregation`
     - Rationale: The native AVG partial exports (sum = NULL, count = 0) where 
Spark initializes (sum = 0, count = 0), so an empty partition silently turns 
2.0 into NULL on the mixed native-partial/Spark-final path Comet itself 
declares safe — the guide's silent-wrong-results category.
   
   - [Bug] array_min and array_max differ from Spark on signed-zero ties 
([#5401](https://github.com/apache/datafusion-comet/issues/5401))
     - Area labels: `area:expressions`
     - Rationale: array_min/array_max are registered with no getSupportLevel 
override (default Compatible), so Comet silently returns -0.0/+0.0 opposite to 
Spark with no error or fallback, which is the guide's decision-tree step 1 
"silent wrong results" and its explicit Correctness Bugs example.
   
   ### priority:low
   
   - FuzzDataGenerator silently drops nulls for Boolean/Byte/Short/Integer 
columns ([#5389](https://github.com/apache/datafusion-comet/issues/5389))
     - Area labels: none
     - Rationale: Existing behavior is broken (nullable 
Boolean/Byte/Short/Integer columns never contain nulls despite allowNull=true 
because the Long arm's null unboxes to 0), but the defect is confined to shared 
test tooling, which the guide scores priority:low ("test-only failures, 
tooling").
     - Label note: No guide-table area label covers shared test data-generation 
utilities; the repo's `test` label is not an approved area label, and area:ci 
means CI/build tooling, so areaLabels is empty.
   
   ## Enhancements
   
   - Support `MapType(IntegerType,ArrayType(IntegerType,false),true)` for 
`CreateArray` ([#5448](https://github.com/apache/datafusion-comet/issues/5448))
     - Area labels: `area:expressions`
     - Rationale: The body is only a fallback-reason dump for an element type 
CometCreateArray explicitly declines via withFallbackReason, and the guide 
classifies extending expression coverage behind a graceful fallback as an 
enhancement, not a bug.
   
   - Report native operator spill metrics in Spark task metrics for non-shuffle 
stages ([#5447](https://github.com/apache/datafusion-comet/issues/5447))
     - Area labels: none
     - Rationale: The task-level spill bridge 
(`CometMetricNode.reportSpillMetrics`) has exactly one caller, the native 
shuffle writer, so wiring it for CometExecRDD stages is new coverage per the 
body's own "Proposed scope" rather than advertised functionality behaving 
incorrectly, and the correct `spilled_bytes` SQL metric already exists.
     - Label note: No guide-table area label covers metrics/observability; the 
edits land in CometMetricNode.scala and operators.scala (CometExecRDD), and 
area:shuffle would misdirect on an explicitly non-shuffle path.
   
   - perf: verify shuffle IPC context-reuse allocation savings with Arrow 59.1+ 
([#5446](https://github.com/apache/datafusion-comet/issues/5446))
     - Area labels: `area:shuffle`
     - Rationale: This is a performance-verification follow-up gated on the 
Arrow/DataFusion upgrade whose close criteria are all upgrade-and-measure 
tasks, and the guide lists performance optimization under enhancement with no 
priority.
   
   - [EPIC] Native Variant Support 
([#5438](https://github.com/apache/datafusion-comet/issues/5438))
     - Area labels: `area:scan`, `area:expressions`, `area:ffi`, 
`area:shuffle`, `area:writer`
     - Rationale: A phased roadmap for brand-new VariantType functionality 
whose stated principle is to "preserve explicit Spark fallback for every 
boundary that has not yet been audited" — new functionality per the guide, with 
one area label per subsystem its own phases enumerate (scan, expressions, 
C2R/FFI, shuffle/spill, writer).
     - Label note: Spark-4-only work (VariantType arrived in Spark 4.0); the 
guide's `spark 4` area indicator does not exist in this repo (only `spark 
4.0`/`4.1`/`4.2`), so no versioned spark label was emitted. The repo's `EPIC` 
label would also fit but is outside the guide's area table.
   
   - Support top-level VariantType in Comet MapInArrow and MapInPandas 
transport ([#5437](https://github.com/apache/datafusion-comet/issues/5437))
     - Area labels: none
     - Rationale: The issue itself calls today's exclusion of Variant-bearing 
MapInArrow/MapInPandas plans "a safe fallback" and asks for new Python Arrow 
transport support, which the guide classifies as enhancement.
     - Label note: No guide-table label fits the Python/Arrow-UDF transport 
subsystem: the repo's `area:udf` is not in the guide's table, and area:ffi 
would misdirect because the work is in 
EliminateRedundantTransitions/CometMapInBatchExec (JVM Arrow-to-Python), not 
the Arrow FFI/JNI boundary. Also Spark-4.1-specific, and the guide's `spark 4` 
label does not exist here.
   
   - Support VariantType in native columnar-to-row conversion 
([#5436](https://github.com/apache/datafusion-comet/issues/5436))
     - Area labels: `area:ffi`
     - Rationale: Native C2R keeps Variant schemas on Spark fallback 
(`supportsSchema` does not admit Variant), so adding a Variant UnsafeRow writer 
is unadvertised new coverage; the "would produce the wrong UnsafeRow 
representation" sentence is a prospective design constraint, not a shipped 
wrong result.
     - Label note: Spark-4-only (VariantType); the guide's `spark 4` label does 
not exist in this repo, so no versioned spark label was emitted.
   
   - Support native Parquet projection of VariantType nested in struct, array, 
and map columns 
([#5435](https://github.com/apache/datafusion-comet/issues/5435))
     - Area labels: `area:scan`
     - Rationale: Nested Variant "remains a full scan fallback" today 
(CometScanRule rejects Variant structs with an explicit fallback reason), so 
projecting it natively is coverage Comet never claimed — an enhancement under 
the guide's key test.
     - Label note: Spark-4-only (VariantType); the guide's `spark 4` label does 
not exist in this repo, so no versioned spark label was emitted.
   
   - Support Variant payloads through Comet shuffle and spill paths 
([#5434](https://github.com/apache/datafusion-comet/issues/5434))
     - Area labels: `area:shuffle`
     - Rationale: Comet rejects every non-scan native operator whose schema 
contains VariantType so such queries fall back, and the guide treats a correct 
fallback as working as designed — carrying Variant through native IPC, JVM 
shuffle, and spill/merge is new functionality.
     - Label note: Spark-4-only (VariantType); the guide's `spark 4` label does 
not exist in this repo, so no versioned spark label was emitted.
   
   - Support whole-value VariantType in native Parquet writes 
([#5433](https://github.com/apache/datafusion-comet/issues/5433))
     - Area labels: `area:writer`
     - Rationale: Comet "currently falls back when an ordinary native Parquet 
write has a Spark VariantType column" (Variant is whitelisted only for scan), 
so adding Variant handling in the native writer is the guide's request for new 
functionality.
     - Label note: Spark-4.x-only work (VariantType, SPARK-45827); the guide's 
`spark 4` area indicator does not exist in this repo, so no versioned spark 
label was emitted.
   
   - Support native variant_explode and variant_explode_outer 
([#5432](https://github.com/apache/datafusion-comet/issues/5432))
     - Area labels: `area:expressions`
     - Rationale: The body states "Comet does not support these generators, so 
queries must leave native execution", i.e. a correct fallback, so this is the 
guide's "new expression/operator support" enhancement with no priority.
     - Label note: Spark-4-specific (variant_explode is registered only in 
Spark 4.x); the guide's `spark 4` label does not exist in this repo, so it was 
omitted.
   
   - Support native to_variant_object 
([#5431](https://github.com/apache/datafusion-comet/issues/5431))
     - Area labels: `area:expressions`
     - Rationale: "Comet does not serialize or evaluate it, so construction 
from native columns falls back" describes absent coverage rather than a defect, 
which is textbook new expression support under the guide.
     - Label note: Spark-4-only function; the guide's `spark 4` indicator label 
is absent from this repo, so no versioned spark label was applied.
   
   - Support native casts to and from VariantType 
([#5430](https://github.com/apache/datafusion-comet/issues/5430))
     - Area labels: `area:expressions`
     - Rationale: CometCast deliberately returns unsupported for every pair 
involving Variant so it falls back to Spark cleanly, and extending the cast 
matrix is new functionality rather than a fix to advertised behavior.
     - Label note: Variant casts exist only in Spark 4.x; the guide's `spark 4` 
area indicator does not exist in this repo, so it was not emitted.
   
   - Support native is_variant_null and Spark 4.2 is_valid_variant 
([#5429](https://github.com/apache/datafusion-comet/issues/5429))
     - Area labels: `area:expressions`
     - Rationale: "Comet has no native predicate" for these Spark 4 Variant 
functions today, so adding serializers plus native evaluators is new expression 
support per the guide, with no priority label.
     - Label note: Version-gated work (is_variant_null is Spark 4.0+, 
is_valid_variant Spark 4.2+); this repo has `spark 4.0`/`4.1`/`4.2` rather than 
the guide's `spark 4`, so no versioned spark label was emitted.
   
   - Support native parse_json and try_parse_json 
([#5428](https://github.com/apache/datafusion-comet/issues/5428))
     - Area labels: `area:expressions`
     - Rationale: "Comet has no serializer or native evaluator for either 
function" so the query cannot remain native — the guide's "new 
expression/operator support" row, with the Variant output-Field/FFI contract 
explicitly delegated to #5425.
     - Label note: parse_json/try_parse_json and VariantType are Spark 
4.x-only; the guide's `spark 4` area indicator does not exist in this repo, so 
no versioned spark label was emitted.
   
   - Support native schema_of_variant and schema_of_variant_agg 
([#5427](https://github.com/apache/datafusion-comet/issues/5427))
     - Area labels: `area:expressions`, `area:aggregation`
     - Rationale: Neither expression is implemented so schema discovery over a 
natively scanned Variant column falls back, making this new expression support; 
area:aggregation is earned because schema_of_variant_agg needs aggregate buffer 
merge/serialization across partial stages.
     - Label note: These Variant functions are Spark 4.x-only, and the guide's 
`spark 4` indicator does not exist in this repo (only `spark 4.0`/`4.1`/`4.2`), 
so the version scope is noted here instead.
   
   - Complete native variant_get and try_variant_get support for dynamic paths 
and nested targets 
([#5426](https://github.com/apache/datafusion-comet/issues/5426))
     - Area labels: `area:expressions`
     - Rationale: A scope extension over the unimplemented #5424/#5425 whose 
only stated impact is that supported Variant extraction queries "still cross 
back to Spark", while explicitly asking to keep unsupported shapes on explicit 
fallback — Comet working as designed, so enhancement.
     - Label note: variant_get/try_variant_get are Spark 4.x-only expressions; 
the guide's `spark 4` area indicator does not exist in this repo, so the 
Spark-4 scope is recorded here rather than as a label.
   
   - Support Variant-valued native expression output and two-argument 
variant_get ([#5425](https://github.com/apache/datafusion-comet/issues/5425))
     - Area labels: `area:expressions`, `area:ffi`
     - Rationale: The metadata-loss it describes ("a computed Variant can lose 
its logical identity") is prospective for code not yet written since Variant is 
still rejected in expression admission, so this defines the result contract for 
new functionality; area:ffi is earned because the arrow.parquet.variant marker 
must survive the RecordBatch/Field FFI export.
     - Label note: VariantType output is Spark 4.x-only; the guide's `spark 4` 
area indicator does not exist in this repo, so no versioned spark label was 
emitted.
   
   - Support native variant_get and try_variant_get for literal paths and 
scalar targets ([#5424](https://github.com/apache/datafusion-comet/issues/5424))
     - Area labels: `area:expressions`
     - Rationale: The body says Phase A "intentionally leaves Variant 
expression evaluation on Spark" so common queries evaluate the extraction in 
Spark — a deliberate graceful fallback — and it requests brand-new native 
variant_get/try_variant_get kernels and admission.
     - Label note: variant_get/try_variant_get exist only in Spark 4.x; the 
guide's `spark 4` area indicator does not exist in this repo, so that scope is 
stated here instead.
   
   - Empty struct columns silently fall back to Spark instead of running 
natively ([#5413](https://github.com/apache/datafusion-comet/issues/5413))
     - Area labels: `area:shuffle`, `area:expressions`
     - Rationale: Everything observable on main is a deliberate, correct 
fallback for a type six guards explicitly reject (`fields.nonEmpty`), which the 
guide says is Comet working as designed, and the from_json panic only becomes 
reachable after the reporter removes the `isSupportedSchema` guard on their 
branch, so this is a request to extend empty-struct coverage.
   
   - Converge the two Delta read paths into one plugin (clean architecture + 
performance) ([#5411](https://github.com/apache/datafusion-comet/issues/5411))
     - Area labels: `area:scan`
     - Rationale: The body is an architecture/refactor design proposal over 
unmerged Delta scan PRs with no defect reported, and the guide places 
refactoring and new-functionality design under enhancement with no priority 
label.
   
   - Improve performance for roundrobin shuffle writes for nested schemas 
([#5397](https://github.com/apache/datafusion-comet/issues/5397))
     - Area labels: `area:shuffle`
     - Rationale: The 2-3x slowdown is measured against Spark rather than an 
earlier Comet release and the author's own comments propose prospective 
optimizations (xxhash-rust, vectorized batch distribution), so this is the 
guide's "performance optimization" enhancement, not a regression.
   
   - [EPIC] Criterion bench coverage for all native expressions 
([#5396](https://github.com/apache/datafusion-comet/issues/5396))
     - Area labels: `area:expressions`, `area:ci`
     - Rationale: This is a catalog plus proposal for a shared bench harness, 
~40 new bench files and a merge-blocking coverage gate — tooling that does not 
exist today — which the guide classifies as enhancement with no priority label.
   
   - Decide and document the delta-spark version pin for the Delta contrib 
([#5390](https://github.com/apache/datafusion-comet/issues/5390))
     - Area labels: `area:ci`
     - Rationale: The reporter states "the current pins work" and asks only 
that the support policy be settled and written down, which is the guide's 
documentation flavor of enhancement rather than something broken.
     - Label note: No guide-table area label exists for the Delta contrib; 
area:ci is applied because the artifacts touched are the Maven profile pins and 
dev/verify-contrib-delta-gate.sh enforced by the Delta build gate workflow.
   
   - Extend native Arrow UDF path to scalar Python UDFs (ArrowEvalPythonExec) 
([#5386](https://github.com/apache/datafusion-comet/issues/5386))
     - Area labels: none
     - Rationale: Nothing under spark/src/main references ArrowEvalPythonExec, 
so scalar Python UDFs take a clean ColumnarToRow fallback today and the ask for 
a new CometArrowEvalPythonExec operator is the guide's "new expression/operator 
support" enhancement.
     - Label note: The issue already carries `area:udf`, which exists in this 
repo but is absent from the guide's area table, so no guide-table area label 
was emitted; area:ffi would misdirect since the transport is JVM 
Arrow-to-Python, not the FFI/JNI boundary. The guide's area table arguably 
needs an `area:udf` row.
   
   ## Skipped — needs more info
   
   - Bug triage results: 2026-08-17 
([#5385](https://github.com/apache/datafusion-comet/issues/5385))
     - Process/meta issue: 2026-08-17 triage summary (33 processed, 31 triaged, 
2 skipped) whose only label is requires-triage; it requests no change to Comet, 
so it is neither a bug nor an enhancement. A reviewer should verify the 
recorded calls and close it — the repo already handled earlier summaries this 
way (#5231 skipped #5052, #4980, #4905, #4838, #4751).
   
   - Bug triage results: 2026-08-11 
([#5325](https://github.com/apache/datafusion-comet/issues/5325))
     - Process/meta issue: 2026-08-11 triage summary (44 processed, 43 triaged, 
1 skipped) whose labels were already applied, still carrying requires-triage; a 
reviewer should spot-check and close it.
   
   - Bug triage results: 2026-08-03 
([#5231](https://github.com/apache/datafusion-comet/issues/5231))
     - Process/meta issue: 2026-08-03 triage summary (68 processed, 63 triaged, 
5 skipped) asking a reviewer to spot-check already-applied labels and close; 
acting on it means editing the referenced issues, not fixing or building 
anything here.
   
   ## Failed to label
   
   All 28 classified issues failed to label with the same error:
   
   > `GraphQL: Resource not accessible by personal access token 
(addLabelsToLabelable / removeLabelsFromLabelable)`
   
   Recommended labels per issue, for a committer to apply:
   
   - Support `MapType(IntegerType,ArrayType(IntegerType,false),true)` for 
`CreateArray` ([#5448](https://github.com/apache/datafusion-comet/issues/5448))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Report native operator spill metrics in Spark task metrics for non-shuffle 
stages ([#5447](https://github.com/apache/datafusion-comet/issues/5447))
     - Add: `enhancement` — Remove: `requires-triage`, `bug`
   
   - perf: verify shuffle IPC context-reuse allocation savings with Arrow 59.1+ 
([#5446](https://github.com/apache/datafusion-comet/issues/5446))
     - Add: `enhancement`, `area:shuffle` — Remove: `requires-triage`, `bug`
   
   - [EPIC] Native Variant Support 
([#5438](https://github.com/apache/datafusion-comet/issues/5438))
     - Add: `enhancement`, `area:scan`, `area:expressions`, `area:ffi`, 
`area:shuffle`, `area:writer` — Remove: `requires-triage`, `bug`
   
   - Support top-level VariantType in Comet MapInArrow and MapInPandas 
transport ([#5437](https://github.com/apache/datafusion-comet/issues/5437))
     - Add: `enhancement` — Remove: `requires-triage`, `bug`
   
   - Support VariantType in native columnar-to-row conversion 
([#5436](https://github.com/apache/datafusion-comet/issues/5436))
     - Add: `enhancement`, `area:ffi` — Remove: `requires-triage`, `bug`
   
   - Support native Parquet projection of VariantType nested in struct, array, 
and map columns 
([#5435](https://github.com/apache/datafusion-comet/issues/5435))
     - Add: `enhancement`, `area:scan` — Remove: `requires-triage`, `bug`
   
   - Support Variant payloads through Comet shuffle and spill paths 
([#5434](https://github.com/apache/datafusion-comet/issues/5434))
     - Add: `enhancement`, `area:shuffle` — Remove: `requires-triage`, `bug`
   
   - Support whole-value VariantType in native Parquet writes 
([#5433](https://github.com/apache/datafusion-comet/issues/5433))
     - Add: `enhancement`, `area:writer` — Remove: `requires-triage`, `bug`
   
   - Support native variant_explode and variant_explode_outer 
([#5432](https://github.com/apache/datafusion-comet/issues/5432))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Support native to_variant_object 
([#5431](https://github.com/apache/datafusion-comet/issues/5431))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Support native casts to and from VariantType 
([#5430](https://github.com/apache/datafusion-comet/issues/5430))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Support native is_variant_null and Spark 4.2 is_valid_variant 
([#5429](https://github.com/apache/datafusion-comet/issues/5429))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Support native parse_json and try_parse_json 
([#5428](https://github.com/apache/datafusion-comet/issues/5428))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Support native schema_of_variant and schema_of_variant_agg 
([#5427](https://github.com/apache/datafusion-comet/issues/5427))
     - Add: `enhancement`, `area:expressions`, `area:aggregation` — Remove: 
`requires-triage`, `bug`
   
   - Complete native variant_get and try_variant_get support for dynamic paths 
and nested targets 
([#5426](https://github.com/apache/datafusion-comet/issues/5426))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Support Variant-valued native expression output and two-argument 
variant_get ([#5425](https://github.com/apache/datafusion-comet/issues/5425))
     - Add: `enhancement`, `area:expressions`, `area:ffi` — Remove: 
`requires-triage`, `bug`
   
   - Support native variant_get and try_variant_get for literal paths and 
scalar targets ([#5424](https://github.com/apache/datafusion-comet/issues/5424))
     - Add: `enhancement`, `area:expressions` — Remove: `requires-triage`, `bug`
   
   - Unsafe native partial aggregates survive child-triggered final fallback 
([#5419](https://github.com/apache/datafusion-comet/issues/5419))
     - Add: `bug`, `priority:critical`, `area:aggregation` — Remove: 
`requires-triage`, `enhancement`
   
   - Incorrect AVG result from empty native partial buffers 
([#5418](https://github.com/apache/datafusion-comet/issues/5418))
     - Add: `bug`, `priority:critical`, `area:aggregation` — Remove: 
`requires-triage`, `enhancement`
   
   - Empty struct columns silently fall back to Spark instead of running 
natively ([#5413](https://github.com/apache/datafusion-comet/issues/5413))
     - Add: `enhancement`, `area:shuffle`, `area:expressions` — Remove: 
`requires-triage`, `bug`
   
   - Converge the two Delta read paths into one plugin (clean architecture + 
performance) ([#5411](https://github.com/apache/datafusion-comet/issues/5411))
     - Add: `enhancement`, `area:scan` — Remove: `requires-triage`, `bug`
   
   - [Bug] array_min and array_max differ from Spark on signed-zero ties 
([#5401](https://github.com/apache/datafusion-comet/issues/5401))
     - Add: `bug`, `priority:critical`, `area:expressions` — Remove: 
`requires-triage`, `enhancement`
   
   - Improve performance for roundrobin shuffle writes for nested schemas 
([#5397](https://github.com/apache/datafusion-comet/issues/5397))
     - Add: `enhancement`, `area:shuffle` — Remove: `requires-triage`, `bug`
   
   - [EPIC] Criterion bench coverage for all native expressions 
([#5396](https://github.com/apache/datafusion-comet/issues/5396))
     - Add: `enhancement`, `area:expressions`, `area:ci` — Remove: 
`requires-triage`, `bug`
   
   - Decide and document the delta-spark version pin for the Delta contrib 
([#5390](https://github.com/apache/datafusion-comet/issues/5390))
     - Add: `enhancement`, `area:ci` — Remove: `requires-triage`, `bug`
   
   - FuzzDataGenerator silently drops nulls for Boolean/Byte/Short/Integer 
columns ([#5389](https://github.com/apache/datafusion-comet/issues/5389))
     - Add: `bug`, `priority:low` — Remove: `requires-triage`, `enhancement`
   
   - Extend native Arrow UDF path to scalar Python UDFs (ArrowEvalPythonExec) 
([#5386](https://github.com/apache/datafusion-comet/issues/5386))
     - Add: `enhancement` — Remove: `requires-triage`, `bug`
   
   ## Triage notes
   
   - Variant cluster (#5424-#5438, children of EPIC #5438) is uniformly 
`enhancement` with no priority: every one of them describes an explicit, 
correct Spark fallback for VariantType, which the guide says is Comet working 
as designed. Area labels follow the subsystem each child actually edits: #5435 
-> area:scan, #5434 -> area:shuffle, #5433 -> area:writer, #5436 -> area:ffi, 
#5424/#5426/#5428/#5429/#5430/#5431/#5432 -> area:expressions, #5425 -> 
area:expressions+area:ffi, #5427 -> area:expressions+area:aggregation, and the 
EPIC #5438 carries the union of those five subsystems. #5437 is the only 
sibling with no area label, because its subsystem (JVM Arrow-to-Python 
MapInArrow/MapInPandas transport) maps to the repo's `area:udf`, which is not 
in the guide's area table.
   - Sentences in #5425/#5436/#5434 that sound like correctness claims ("would 
produce the wrong UnsafeRow representation", "can lose its logical identity and 
be imported by Spark as StructType", "treating it as a generic Struct") are 
conditional design constraints for unwritten code, not reports of today's 
output. Variant is gated out before reaching native expression admission, C2R 
init, and shuffle serialization, so none of these is a shipped silent wrong 
result and none escalates to bug/priority:critical.
   - #5447 vs #5382 is the one place this triage diverges from maintainer 
precedent. andygrove labeled #5382 (child-operator spill metrics for unified 
shuffle plans) `bug` + `enhancement` + priority:medium + area:shuffle, even 
though the guide states an issue must never carry both type labels. I classify 
#5447 as `enhancement` because the guide's key test distinguishes them: #5382's 
task-metric bridge existed and under-reported (existing feature giving wrong 
numbers), whereas for non-shuffle stages no bridge was ever registered 
(CometMetricNode.reportSpillMetrics has exactly one caller, 
CometNativeShuffleWriter.scala:140). A maintainer who prefers to follow #5382 
would land on bug + priority:medium; flagging rather than silently splitting 
the difference.
   - #5413 was the most likely bug/enhancement inversion in the queue and I 
re-verified it independently: 
spark/src/main/scala/org/apache/comet/serde/structs.scala:251-258 
(`isSupportedSchema`) rejects `StructType()`, so `from_json(col,'struct<>')` 
never emits the FromJson proto and the StructArray::new panic the reporter hit 
is unreachable on main — it surfaced only after they deleted that guard on 
their branch. Everything a user can observe today is a logged fallback, so 
`enhancement` stands; if a future path lets an empty-struct schema reach native 
from_json, that panic becomes a bug/priority:high in its own right.
   - Three dated "Bug triage results" issues (#5385, #5325, #5231) are skipped 
as process/meta artifacts. This matches the repo's own precedent: #5231's 
Skipped section applies the same reasoning to #5052, #4980, #4905, #4838, and 
#4751. They should be spot-checked and closed rather than labeled.
   - Priority invariants hold: exactly one type per issue; the four bugs 
(#5401, #5419, #5418, #5389) each carry exactly one priority, with the three 
silent-wrong-result bugs at priority:critical per decision-tree step 1 and 
prioritization principle 1 (correctness over crashes), and the test-tooling 
defect #5389 at priority:low; all 24 enhancements and all 3 skips carry 
priority "none". No escalation trigger fires anywhere: the critical bugs are 
already top priority, and #5389 is a false-negative in a fuzz generator, not a 
CI flake blocking merges.
   - Label-vocabulary gaps hit repeatedly: the guide lists `spark 4` as an area 
indicator but this repo only has `spark 4.0`/`spark 4.1`/`spark 4.2`, so no 
versioned spark label was emitted for the 15 Spark-4-only Variant issues (nor 
for #5386). The repo also has `area:udf` and `area:Iceberg`, which are absent 
from the guide's area table and therefore unusable here — worth adding an 
`area:udf` row (and possibly a metrics/observability and a test-tooling row) to 
the guide, since #5386, #5437, #5447, and #5389 all ended with an empty or 
under-specified area list for that reason.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to