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
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)
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)
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)
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)
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)
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)
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.
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.
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)
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)
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)
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)
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)
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)
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.
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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.
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.
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.
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)
Empty struct columns silently fall back to Spark instead of running natively #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.
Triage pass over the open
requires-triagequeue, per the project Bug Triage Guide.priority:critical3,priority:high0,priority:medium0,priority:low1Important
No labels were applied. Every
gh issue editcall was rejected withGraphQL: Resource not accessible by personal access token (addLabelsToLabelable / removeLabelsFromLabelable)— the token used for this pass has the repositorytriagerole but was not granted the Issues: Read and write permission. All 31 issues therefore still carryrequires-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)
area:aggregationIncorrect AVG result from empty native partial buffers (#5418)
area:aggregation[Bug] array_min and array_max differ from Spark on signed-zero ties (#5401)
area:expressionspriority:low
testlabel 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)forCreateArray(#5448)area:expressionsReport native operator spill metrics in Spark task metrics for non-shuffle stages (#5447)
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 correctspilled_bytesSQL metric already exists.perf: verify shuffle IPC context-reuse allocation savings with Arrow 59.1+ (#5446)
area:shuffle[EPIC] Native Variant Support (#5438)
area:scan,area:expressions,area:ffi,area:shuffle,area:writerspark 4area indicator does not exist in this repo (onlyspark 4.0/4.1/4.2), so no versioned spark label was emitted. The repo'sEPIClabel would also fit but is outside the guide's area table.Support top-level VariantType in Comet MapInArrow and MapInPandas transport (#5437)
area:udfis 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'sspark 4label does not exist here.Support VariantType in native columnar-to-row conversion (#5436)
area:ffisupportsSchemadoes 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.spark 4label 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)
area:scanspark 4label does not exist in this repo, so no versioned spark label was emitted.Support Variant payloads through Comet shuffle and spill paths (#5434)
area:shufflespark 4label does not exist in this repo, so no versioned spark label was emitted.Support whole-value VariantType in native Parquet writes (#5433)
area:writerspark 4area indicator does not exist in this repo, so no versioned spark label was emitted.Support native variant_explode and variant_explode_outer (#5432)
area:expressionsspark 4label does not exist in this repo, so it was omitted.Support native to_variant_object (#5431)
area:expressionsspark 4indicator label is absent from this repo, so no versioned spark label was applied.Support native casts to and from VariantType (#5430)
area:expressionsspark 4area 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)
area:expressionsspark 4.0/4.1/4.2rather than the guide'sspark 4, so no versioned spark label was emitted.Support native parse_json and try_parse_json (#5428)
area:expressionsspark 4area 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)
area:expressions,area:aggregationspark 4indicator does not exist in this repo (onlyspark 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)
area:expressionsspark 4area 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)
area:expressions,area:ffispark 4area 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)
area:expressionsspark 4area 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)
area:shuffle,area:expressionsfields.nonEmpty), which the guide says is Comet working as designed, and the from_json panic only becomes reachable after the reporter removes theisSupportedSchemaguard 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)
area:scanImprove performance for roundrobin shuffle writes for nested schemas (#5397)
area:shuffle[EPIC] Criterion bench coverage for all native expressions (#5396)
area:expressions,area:ciDecide and document the delta-spark version pin for the Delta contrib (#5390)
area:ciExtend native Arrow UDF path to scalar Python UDFs (ArrowEvalPythonExec) (#5386)
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 anarea:udfrow.Skipped — needs more info
Bug triage results: 2026-08-17 (#5385)
Bug triage results: 2026-08-11 (#5325)
Bug triage results: 2026-08-03 (#5231)
Failed to label
All 28 classified issues failed to label with the same error:
Recommended labels per issue, for a committer to apply:
Support
MapType(IntegerType,ArrayType(IntegerType,false),true)forCreateArray(#5448)enhancement,area:expressions— Remove:requires-triage,bugReport native operator spill metrics in Spark task metrics for non-shuffle stages (#5447)
enhancement— Remove:requires-triage,bugperf: verify shuffle IPC context-reuse allocation savings with Arrow 59.1+ (#5446)
enhancement,area:shuffle— Remove:requires-triage,bug[EPIC] Native Variant Support (#5438)
enhancement,area:scan,area:expressions,area:ffi,area:shuffle,area:writer— Remove:requires-triage,bugSupport top-level VariantType in Comet MapInArrow and MapInPandas transport (#5437)
enhancement— Remove:requires-triage,bugSupport VariantType in native columnar-to-row conversion (#5436)
enhancement,area:ffi— Remove:requires-triage,bugSupport native Parquet projection of VariantType nested in struct, array, and map columns (#5435)
enhancement,area:scan— Remove:requires-triage,bugSupport Variant payloads through Comet shuffle and spill paths (#5434)
enhancement,area:shuffle— Remove:requires-triage,bugSupport whole-value VariantType in native Parquet writes (#5433)
enhancement,area:writer— Remove:requires-triage,bugSupport native variant_explode and variant_explode_outer (#5432)
enhancement,area:expressions— Remove:requires-triage,bugSupport native to_variant_object (#5431)
enhancement,area:expressions— Remove:requires-triage,bugSupport native casts to and from VariantType (#5430)
enhancement,area:expressions— Remove:requires-triage,bugSupport native is_variant_null and Spark 4.2 is_valid_variant (#5429)
enhancement,area:expressions— Remove:requires-triage,bugSupport native parse_json and try_parse_json (#5428)
enhancement,area:expressions— Remove:requires-triage,bugSupport native schema_of_variant and schema_of_variant_agg (#5427)
enhancement,area:expressions,area:aggregation— Remove:requires-triage,bugComplete native variant_get and try_variant_get support for dynamic paths and nested targets (#5426)
enhancement,area:expressions— Remove:requires-triage,bugSupport Variant-valued native expression output and two-argument variant_get (#5425)
enhancement,area:expressions,area:ffi— Remove:requires-triage,bugSupport native variant_get and try_variant_get for literal paths and scalar targets (#5424)
enhancement,area:expressions— Remove:requires-triage,bugUnsafe native partial aggregates survive child-triggered final fallback (#5419)
bug,priority:critical,area:aggregation— Remove:requires-triage,enhancementIncorrect AVG result from empty native partial buffers (#5418)
bug,priority:critical,area:aggregation— Remove:requires-triage,enhancementEmpty struct columns silently fall back to Spark instead of running natively (#5413)
enhancement,area:shuffle,area:expressions— Remove:requires-triage,bugConverge the two Delta read paths into one plugin (clean architecture + performance) (#5411)
enhancement,area:scan— Remove:requires-triage,bug[Bug] array_min and array_max differ from Spark on signed-zero ties (#5401)
bug,priority:critical,area:expressions— Remove:requires-triage,enhancementImprove performance for roundrobin shuffle writes for nested schemas (#5397)
enhancement,area:shuffle— Remove:requires-triage,bug[EPIC] Criterion bench coverage for all native expressions (#5396)
enhancement,area:expressions,area:ci— Remove:requires-triage,bugDecide and document the delta-spark version pin for the Delta contrib (#5390)
enhancement,area:ci— Remove:requires-triage,bugFuzzDataGenerator silently drops nulls for Boolean/Byte/Short/Integer columns (#5389)
bug,priority:low— Remove:requires-triage,enhancementExtend native Arrow UDF path to scalar Python UDFs (ArrowEvalPythonExec) (#5386)
enhancement— Remove:requires-triage,bugTriage notes
enhancementwith 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: Support native Parquet projection of VariantType nested in struct, array, and map columns #5435 -> area:scan, Support Variant payloads through Comet shuffle and spill paths #5434 -> area:shuffle, Support whole-value VariantType in native Parquet writes #5433 -> area:writer, Support VariantType in native columnar-to-row conversion #5436 -> area:ffi, Support native variant_get and try_variant_get for literal paths and scalar targets #5424/Complete nativevariant_getandtry_variant_getsupport for dynamic paths and nested targets #5426/Support nativeparse_jsonandtry_parse_json#5428/Support native is_variant_null and Spark 4.2 is_valid_variant #5429/Support native casts to and from VariantType #5430/Support nativeto_variant_object#5431/Support nativevariant_explodeandvariant_explode_outer#5432 -> area:expressions, Support Variant-valued native expression output and two-argument variant_get #5425 -> area:expressions+area:ffi, Support nativeschema_of_variantandschema_of_variant_agg#5427 -> area:expressions+area:aggregation, and the EPIC [EPIC] Native Variant Support #5438 carries the union of those five subsystems. Support top-level VariantType in Comet MapInArrow and MapInPandas transport #5437 is the only sibling with no area label, because its subsystem (JVM Arrow-to-Python MapInArrow/MapInPandas transport) maps to the repo'sarea:udf, which is not in the guide's area table.bug+enhancement+ priority:medium + area:shuffle, even though the guide states an issue must never carry both type labels. I classify Report native operator spill metrics in Spark task metrics for non-shuffle stages #5447 asenhancementbecause the guide's key test distinguishes them: Report native child-operator spill metrics in Spark task metrics for unified shuffle plans #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 Report native child-operator spill metrics in Spark task metrics for unified shuffle plans #5382 would land on bug + priority:medium; flagging rather than silently splitting the difference.isSupportedSchema) rejectsStructType(), sofrom_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, soenhancementstands; if a future path lets an empty-struct schema reach native from_json, that panic becomes a bug/priority:high in its own right.spark 4as an area indicator but this repo only hasspark 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 Extend native Arrow UDF path to scalar Python UDFs (ArrowEvalPythonExec) #5386). The repo also hasarea:udfandarea:Iceberg, which are absent from the guide's area table and therefore unusable here — worth adding anarea:udfrow (and possibly a metrics/observability and a test-tooling row) to the guide, since Extend native Arrow UDF path to scalar Python UDFs (ArrowEvalPythonExec) #5386, Support top-level VariantType in Comet MapInArrow and MapInPandas transport #5437, Report native operator spill metrics in Spark task metrics for non-shuffle stages #5447, and FuzzDataGenerator silently drops nulls for Boolean/Byte/Short/Integer columns #5389 all ended with an empty or under-specified area list for that reason.