[Analytics Engine] Add data node row ID emission and fetch-by-row-ids for QTF late materialization - #21563
[Analytics Engine] Add data node row ID emission and fetch-by-row-ids for QTF late materialization#21563alchemist51 wants to merge 4 commits into
Conversation
PR Reviewer Guide 🔍(Review updated until commit 449ed67)Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Latest suggestions up to 449ed67 Explore these optional code suggestions:
Previous suggestionsSuggestions up to commit c274c9b
Suggestions up to commit c60165b
Suggestions up to commit 3ede2af
Suggestions up to commit ee15643
Suggestions up to commit 11601fc
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #21563 +/- ##
============================================
+ Coverage 73.42% 73.50% +0.08%
- Complexity 74538 74583 +45
============================================
Files 5978 5978
Lines 338734 338734
Branches 48842 48842
============================================
+ Hits 248709 248994 +285
+ Misses 70180 69866 -314
- Partials 19845 19874 +29 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Persistent review updated to latest commit 1ce1d72 |
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit c60165b.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
|
Persistent review updated to latest commit f77ae58 |
|
❌ Gradle check result for f77ae58: 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? |
|
Persistent review updated to latest commit f79aa97 |
|
❌ Gradle check result for f79aa97: 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? |
|
Persistent review updated to latest commit 5b659c5 |
|
❌ Gradle check result for 5b659c5: 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? |
|
Persistent review updated to latest commit afd06ef |
|
❌ Gradle check result for afd06ef: 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? |
|
Persistent review updated to latest commit 5628ec1 |
|
❌ Gradle check result for 5628ec1: 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? |
|
Persistent review updated to latest commit 11601fc |
|
❌ Gradle check result for 11601fc: 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? |
|
Persistent review updated to latest commit ee15643 |
|
Persistent review updated to latest commit 3ede2af |
|
❌ Gradle check result for 3ede2af: 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? |
| for (CatalogSnapshot cs : committedSnapshots) { | ||
| catalogSnapshotMap.put(cs.getGeneration(), cs); | ||
| } | ||
|
|
There was a problem hiding this comment.
Will remove it once the #21553 get's merged
… for QTF - Row ID emission: indexed path (position-based) + ListingTable path (optimizer-based) - Fetch phase: ParquetAccessPlan with RowSelection for targeted row retrieval - ReaderContextStore: holds reader across query→fetch with keep-alive and reaper - Shared helpers, routing logic, code cleanup Signed-off-by: Arpit Bandejiya <abandeji@amazon.com>
|
Persistent review updated to latest commit c60165b |
|
❌ Gradle check result for c60165b: 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? |
# Conflicts: # sandbox/libs/analytics-framework/src/main/java/org/opensearch/analytics/spi/AnalyticsSearchBackendPlugin.java # sandbox/plugins/analytics-backend-datafusion/rust/src/api.rs # sandbox/plugins/analytics-backend-datafusion/rust/src/indexed_table/segment_info.rs # sandbox/plugins/analytics-backend-datafusion/src/main/java/org/opensearch/be/datafusion/DataFusionAnalyticsBackendPlugin.java # sandbox/plugins/analytics-engine/src/main/java/org/opensearch/analytics/exec/AnalyticsSearchService.java
|
Persistent review updated to latest commit c274c9b |
|
❌ Gradle check result for c274c9b: 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? |
# Conflicts: # sandbox/plugins/analytics-backend-datafusion/rust/src/api.rs # sandbox/plugins/analytics-backend-datafusion/rust/src/query_executor.rs
Signed-off-by: Arpit Bandejiya <abandeji@amazon.com>
|
Persistent review updated to latest commit 449ed67 |
|
❌ Gradle check result for 449ed67: 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? |
|
Closing it, have added my changed in #21836 |
Adds the data-node half of Query-Then-Fetch late materialization:
__row_id__from position viaPositionMapinfinalize_batchfor all filter classifications (SingleCollector, Tree, predicate-only without sort)ShardTableProviderwithrow_basepartition column +ProjectRowIdOptimizerfor queries requiring data-node sort without a collectorParquetAccessPlanwith row-levelRowSelection, skipping entire row groups with no target rowsReaderContextStoreholds shard readers open across query→fetch phases with configurable keep-alive (analytics.qtf.reader_context.keep_alive, default 5m) and reaperbuild_query_runtime_env,build_shard_file_infos,store_url_from_table_pathfor reuse across query and fetch paths