Added substrait converter for the fragments - #21348
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
7b3fd7a to
c5398f2
Compare
|
❌ Gradle check result for c5398f2: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
mch2
left a comment
There was a problem hiding this comment.
overall looks like a good start here for substrait conversion, thanks @vinaykpud .
@vinaykpud lets fix this as well. Thanks! |
|
❌ Gradle check result for 302985b: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
@sandeshkr419 |
Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
e4c8905 to
c39e324
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #21348 +/- ##
============================================
- Coverage 73.34% 73.33% -0.02%
+ Complexity 74223 74205 -18
============================================
Files 5958 5958
Lines 337309 337349 +40
Branches 48664 48687 +23
============================================
- Hits 247408 247380 -28
- Misses 70188 70246 +58
- Partials 19713 19723 +10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
* Added substrait converter for the fragments Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * spotless fix Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * fixed pr comments Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * fix failing test Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> --------- Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
* Added substrait converter for the fragments Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * spotless fix Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * fixed pr comments Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * fix failing test Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> --------- Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
* Added substrait converter for the fragments Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * spotless fix Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * fixed pr comments Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> * fix failing test Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com> --------- Signed-off-by: Vinay Krishna Pudyodu <vinkrish.neo@gmail.com>
Description
Add Substrait-based fragment converter to the DataFusion backend plugin, enabling end-to-end query execution from DSL query → Calcite RelNode → Substrait plan → native DataFusion runtime → Arrow result batches → materialized rows.
Fix classloader dependency issues:
flatbuffers-java,arrow-format,jackson-databind,jackson-annotationsmoved to bundled inanalytics-engine(parent plugin). Arrow'sArrowTypesubclasses are loaded by the parent classloader and transitively reference these jars — child plugins can't provide them. Removed duplicates fromanalytics-backend-datafusionto avoid jar hell.Fix Substrait TCCL issue: Substrait uses Jackson polymorphic deserialization which resolves class names via the thread context classloader. On search threads the TCCL is the system CL and can't see plugin classes. Moved extension catalog loading to plugin bootstrap with a one-time TCCL swap so it's cached before any query runs.
Fix Arrow memory leak:
batchesToRows()iteratedVectorSchemaRootbatches without closing them. Addedbatch.close()after materializing rows so the per-query allocator closes cleanly.Related Issues
Resolves #[Issue number to be closed when this PR is merged]
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.