felipepessoto opened a new pull request, #12337:
URL: https://github.com/apache/gluten/pull/12337

   ## What changes are proposed in this pull request?
   
   Backport of #12290 (commit e2300d86baf58d935a087951f097a52f13ac30f3) to 
`branch-1.7`.
   
   This is a clean cherry-pick (`git cherry-pick -x`) with no conflicts — the 
patch is identical to the one merged on `main`.
   
   For context, the original fix: 
`SubstraitVeloxExprConverter::toVeloxExpr(FieldReference, RowTypePtr)` walks a 
nested `struct_field` reference and descends with `inputColumnType = 
asRowType(childAt(idx))`. When the path traverses a non-struct child (e.g. a 
field nested under an array), `asRowType()` returns `nullptr` and the next 
iteration dereferenced it, crashing the forked JVM with a `SIGSEGV` that 
`SubstraitToVeloxPlanValidator` could not catch. The fix adds 
`VELOX_USER_CHECK` guards so an unsupported nested reference throws a catchable 
`VeloxUserError` and the query falls back to vanilla Spark instead of crashing 
the process.
   
   See #12290 for the full description and CI evidence.
   
   ## How was this patch tested?
   
   Cherry-picked the unit test 
`cpp/velox/tests/SubstraitVeloxExprConverterTest.cc` (identical to `main`), 
which builds the crashing `FieldReference` (a reference descending into an 
array column) and asserts the converter now throws instead of aborting the JVM. 
CI on this PR validates the build and tests against `branch-1.7`.
   
   ## Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: GitHub Copilot CLI (claude-opus-4.8)
   


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