From 5026d52ddb589e8ce360316c53d8b24bf7e10678 Mon Sep 17 00:00:00 2001 From: Weixin-Xu Date: Tue, 17 Mar 2026 20:09:15 +0800 Subject: [PATCH 1/7] Add RFC to introduce Bolt backend for native engine --- RFC-0023-bolt-backend.md | 131 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 RFC-0023-bolt-backend.md diff --git a/RFC-0023-bolt-backend.md b/RFC-0023-bolt-backend.md new file mode 100644 index 00000000..595b8137 --- /dev/null +++ b/RFC-0023-bolt-backend.md @@ -0,0 +1,131 @@ +# **RFC0023 for Presto** + +## Introduce Bolt Backend for Presto Native Execution + +Proposers + +* Weixin Xu +* + +## Related Issues + +N/A + +--- + +## Summary + +Introduce Bolt as an additional backend for the Presto native execution engine. + +The initial implementation provides a Bolt-based native worker that implements the Presto worker protocol and integrates with the existing Presto coordinator. + +To support the Bolt backend build and dependency requirements, a Conan-based dependency flow is introduced for this worker module. Standardizing dependency management across all native backends is out of scope for this RFC. + +--- + +## Background + +Bolt is a C++ acceleration library for analytical data processing, designed to serve as a backend for data processing frameworks. +See: https://github.com/bytedance/bolt + +It has been validated across multiple frameworks and supports execution across diverse processors and hardware architectures. Bolt provides execution optimizations such as JIT compilation for hotspot expressions, and includes support for common analytical data formats and table abstractions. + +Bolt can be integrated as a Presto worker by implementing the existing worker protocol, without requiring changes to the coordinator or query protocol. + +--- + +## Goals + +* Support a Bolt-based backend for the Presto native execution engine. +* Keep backend selection operationally simple for developers and operators. +* Reuse existing native execution components where practical. + +### Non-Goals + +* Runtime switching between Bolt and Velox backends (e.g., per query or within the same worker). +* Large-scale refactoring of `presto-native-execution` into shared modules as a prerequisite for Bolt integration. + +--- + +## Proposed Implementation + +The Bolt backend is introduced as a separate native worker module (`presto-bolt-execution`) that implements the Presto worker protocol and integrates with the coordinator. + +At the protocol level, the Bolt worker can be deployed as an alternative to the existing native worker. + +The implementation reuses engine-agnostic components where applicable and keeps execution-specific logic within the Bolt backend. + +### Component Overview + +| Component | Approach | +|---------------------------|------------------------| +| http | reused | +| runtime-metrics | reused | +| thrift / protocol | reused (preferred) | +| types / plan conversion | backend-local | +| operators | backend-local | +| presto_server_lib | backend-local | +| common | backend-local | +| tests | backend-local | + +--- + +## Protocol and Thrift Strategy + +The implementation reuses existing Presto protocol and thrift definitions wherever possible. + +Separate protocol or thrift generation is used only if required by build or toolchain constraints. + +--- + +## Adoption Plan + +The Bolt backend is introduced as an optional native worker implementation. + +It does not affect existing deployments. Users can deploy the Bolt worker alongside or in place of the existing native worker. + +--- + +## Test Plan + +Testing covers unit validation, worker-level integration, end-to-end query correctness, and CI integration. + +### 1. Unit Testing + +Bolt provides its own unit tests for core execution components. + +Additional tests are added for integration-specific logic, including: +* plan conversion +* expression translation +* split and connector adaptation +* backend-specific configuration handling + +--- + +### 2. Worker Integration Testing + +Integration tests exercise key lifecycle and execution paths, including: +* worker startup and registration +* discovery and heartbeat +* task submission and execution +* result retrieval +* basic failure and cancellation scenarios + +--- + +### 3. End-to-End Query Testing + +End-to-end validation is performed using the external worker execution model. + +Primary coverage includes: +* TPCH smoke tests +* Hive connector tests + +--- + +### 4. CI Integration + +CI covers: +* build +* unit tests +* basic integration validation \ No newline at end of file From 3e801522418753a6bd10f313d34fe70e547d5dbf Mon Sep 17 00:00:00 2001 From: Zac Blanco Date: Wed, 15 Apr 2026 18:58:17 -0700 Subject: [PATCH 2/7] Apply suggestions --- RFC-0023-bolt-backend.md | 351 ++++++++++++++++++++++++++++++++------- 1 file changed, 288 insertions(+), 63 deletions(-) diff --git a/RFC-0023-bolt-backend.md b/RFC-0023-bolt-backend.md index 595b8137..6252cf15 100644 --- a/RFC-0023-bolt-backend.md +++ b/RFC-0023-bolt-backend.md @@ -1,131 +1,356 @@ -# **RFC0023 for Presto** +# RFC-0023: Introduce Bolt Backend for Presto Native Execution -## Introduce Bolt Backend for Presto Native Execution - -Proposers +## Proposers * Weixin Xu -* ## Related Issues -N/A +* [prestodb/rfcs#59](https://github.com/prestodb/rfcs/pull/59) +* [Weixin-Xu/presto#1](https://github.com/Weixin-Xu/presto/pull/1) --- ## Summary -Introduce Bolt as an additional backend for the Presto native execution engine. +This RFC introduces Bolt as an additional backend for Presto's native worker implementation. -The initial implementation provides a Bolt-based native worker that implements the Presto worker protocol and integrates with the existing Presto coordinator. +The initial implementation keeps the existing Velox-based worker unchanged and adds a sibling module, `presto-bolt-execution`, that implements the same Presto worker protocol against Bolt. The coordinator, query protocol, and external worker model remain unchanged. -To support the Bolt backend build and dependency requirements, a Conan-based dependency flow is introduced for this worker module. Standardizing dependency management across all native backends is out of scope for this RFC. +The current code does not turn `presto-native-execution` into a generic shared framework. Instead, it adds a Bolt-specific worker tree and extracts only a small set of reusable helpers from `presto-native-execution`. Build enablement is also separate in the initial implementation: Velox and Bolt are built from different module directories and produce different worker binaries from different build roots. --- ## Background -Bolt is a C++ acceleration library for analytical data processing, designed to serve as a backend for data processing frameworks. -See: https://github.com/bytedance/bolt +Bolt is a C++ execution library for analytical workloads. It provides its own plan, expression, operator, connector, and serialization layers, and can serve as the execution backend for a Presto native worker as long as the worker continues to speak the existing Presto worker protocol. + +See: [bytedance/bolt](https://github.com/bytedance/bolt) + +The implementation in [Weixin-Xu/presto#1](https://github.com/Weixin-Xu/presto/pull/1) validates this model by adding a Bolt-based worker that: -It has been validated across multiple frameworks and supports execution across diverse processors and hardware architectures. Bolt provides execution optimizations such as JIT compilation for hotspot expressions, and includes support for common analytical data formats and table abstractions. +* speaks the existing Presto worker REST/thrift protocol, +* runs under the same external worker model used by the native worker tests, +* reuses only a narrow slice of existing native-execution code, +* keeps Bolt-specific planning and execution logic inside a dedicated module. -Bolt can be integrated as a Presto worker by implementing the existing worker protocol, without requiring changes to the coordinator or query protocol. +This allows us to add a second backend without changing the Java coordinator. --- ## Goals -* Support a Bolt-based backend for the Presto native execution engine. -* Keep backend selection operationally simple for developers and operators. -* Reuse existing native execution components where practical. +* Add a Bolt-based native worker backend for Presto. +* Keep the coordinator and worker protocol unchanged. +* Keep backend selection simple and explicit at build and deployment time. +* Reuse only the parts of `presto-native-execution` that are already backend-agnostic or can be made backend-agnostic with small extracts. +* Reuse the existing native-worker test model and test data layouts as much as possible. ### Non-Goals -* Runtime switching between Bolt and Velox backends (e.g., per query or within the same worker). -* Large-scale refactoring of `presto-native-execution` into shared modules as a prerequisite for Bolt integration. +* Per-query or mixed-backend runtime scheduling within the same worker process. +* Turning `presto-native-execution` and `presto-bolt-execution` into one fully shared backend framework in the initial change. +* Changing the Java coordinator, worker REST protocol, or query protocol. +* Making Bolt part of the repo-wide root Maven reactor in the initial implementation. --- ## Proposed Implementation -The Bolt backend is introduced as a separate native worker module (`presto-bolt-execution`) that implements the Presto worker protocol and integrates with the coordinator. +### High-Level Shape + +The initial implementation adds a new top-level module: + +* `presto-native-execution`: existing Velox-based native worker +* `presto-bolt-execution`: new Bolt-based native worker + +Each module owns its own worker server sources, build files, tests, and packaging flow. At runtime, the coordinator talks to either backend through the same worker protocol. + +This means backend choice is made by selecting which worker binary to build, package, and launch. It is not a runtime flag inside a single worker binary. + +### Bolt Worker Structure + +The Bolt module contains its own: + +* `presto_cpp/main`: worker server, task management, HTTP endpoints, operators, runtime metrics, and backend-specific task logic +* `presto_cpp/types`: Presto-to-Bolt plan, expression, connector, and split conversion +* `presto_cpp/presto_protocol`: Bolt-side generated protocol sources +* `src/test/java/com/facebook/presto/nativeworker`: Java external-worker and correctness tests +* Docker/Testcontainers assets for packaging and smoke testing +* Conan/CMake build files for Bolt dependencies + +The coordinator contract stays the same. The Bolt worker still registers with discovery, accepts task updates, returns task info and results, and exposes the same worker endpoints expected by Presto. -At the protocol level, the Bolt worker can be deployed as an alternative to the existing native worker. +### Plan and Protocol Flow -The implementation reuses engine-agnostic components where applicable and keeps execution-specific logic within the Bolt backend. +At a high level, the Bolt worker follows this flow: -### Component Overview +1. The Java coordinator creates the same Presto plan fragments it already produces today. +2. The Bolt worker deserializes those fragments using the existing Presto protocol model. +3. Bolt-specific converters translate Presto plans, expressions, splits, and connector handles into Bolt-native structures. +4. Bolt executes the resulting plan and reports task state, results, and metrics back through the existing worker protocol. -| Component | Approach | -|---------------------------|------------------------| -| http | reused | -| runtime-metrics | reused | -| thrift / protocol | reused (preferred) | -| types / plan conversion | backend-local | -| operators | backend-local | -| presto_server_lib | backend-local | -| common | backend-local | -| tests | backend-local | +The current code includes dedicated Bolt converters such as: + +* `PrestoToBoltQueryPlan` +* `PrestoToBoltExpr` +* `PrestoToBoltConnector` +* `PrestoToBoltSplit` +* `BoltPlanConversion` and `BoltPlanValidator` + +This is intentionally backend-local. The initial implementation does not try to share plan conversion logic with the Velox backend. + +--- + +## Changes to `presto-native-execution` Architecture + +The RFC draft should be explicit that the architecture change in this PR is incremental, not a large refactor. + +### What Is Reused + +The Bolt implementation reuses a small number of assets from `presto-native-execution`: + +* generic task initialization helper extracted to `presto-native-execution/presto_cpp/main/task/TaskManagerHelpers.h` +* generic task stats helper extracted to `presto-native-execution/presto_cpp/main/task/PrestoTaskStatsHelpers.h` +* small HTTP filter helper headers extracted for shared formatting and response behavior +* shared runtime-metrics helper header for Prometheus registry plumbing +* existing thrift base definitions and thrift-generation support files +* existing protocol base YAML files that define shared Presto protocol shapes + +These are reused directly from the sibling `presto-native-execution` source tree rather than from a new shared library. + +### What Stays Backend-Local + +The following remain backend-specific in the current implementation: + +* worker server implementation +* task execution logic +* operators +* plan, expression, connector, and split conversion +* backend-specific runtime metrics and error translation +* build system and dependency resolution +* Java integration-test module and packaging assets + +### Important Constraint + +`presto-bolt-execution` currently depends on the presence of the sibling `presto-native-execution` source tree. This is visible in the build files: + +* Bolt reuses native thrift inputs from `../presto-native-execution/presto_cpp/main/thrift` +* Bolt protocol YAML files include native base YAML files from `presto-native-execution` +* Bolt includes a small number of native helper headers by source-tree path + +So the code is organized as "separate module with selective source reuse", not "fully standalone module" and not "shared common library". + +--- + +## Build and Backend Enablement + +### Build Model in the Current Implementation + +The two backends are enabled as separate module builds: + +* Velox backend: built from `presto-native-execution` +* Bolt backend: built from `presto-bolt-execution` + +The Bolt backend has its own: + +* `CMakeLists.txt` +* `Makefile` +* `conanfile.py` +* module-local `pom.xml` + +The current code therefore supports building both backends in the same source tree, but not through one shared root-level switch. A developer chooses the backend by entering the corresponding module directory and invoking that module's build flow. + +### C++ Build Controls + +The Bolt module exposes CMake and Conan controls comparable to the existing native worker flow, including: + +* `PRESTO_ENABLE_TESTING` +* `PRESTO_ENABLE_HDFS` +* `PRESTO_ENABLE_S3` +* `PRESTO_ENABLE_PARQUET` +* `PRESTO_ENABLE_JEMALLOC` +* Conan `enable_testing` + +This keeps the worker build configurable without affecting the existing Velox build. + +### Packaging and Deployment Selection + +The worker selected for deployment is determined by the binary path or image chosen by the launcher: + +* local external-worker tests point `PRESTO_SERVER` at the desired worker binary +* container tests point `workerImage` at the desired worker image +* production packaging would likewise choose either the Velox worker artifact or the Bolt worker artifact + +In other words, build-time and deployment-time backend selection is explicit and coarse-grained: + +* one worker process -> one backend +* one binary/image -> one backend +* no mixed backend inside one worker binary + +### Follow-Up Work + +Repo-wide reactor integration and cleaner root-level build switching can be added later, but they are not part of the current PR and should not be described as already implemented. --- ## Protocol and Thrift Strategy -The implementation reuses existing Presto protocol and thrift definitions wherever possible. +The implementation continues to use Presto's existing worker protocol and thrift contract. + +The current code shape is: -Separate protocol or thrift generation is used only if required by build or toolchain constraints. +* Bolt keeps its own generated `presto_protocol` sources in `presto-bolt-execution` +* Bolt reuses the native worker's thrift inputs and thrift support logic where possible +* Bolt preprocesses the reused thrift input as needed for its own build + +This keeps the over-the-wire contract aligned with the existing worker protocol while avoiding a large upfront rewrite of thrift generation. --- ## Adoption Plan -The Bolt backend is introduced as an optional native worker implementation. +The Bolt backend is introduced as an optional alternative native worker implementation. + +Existing Velox-based native deployments are unaffected. + +Initial adoption is expected to look like this: -It does not affect existing deployments. Users can deploy the Bolt worker alongside or in place of the existing native worker. +1. Build `presto-bolt-execution`. +2. Launch Bolt workers instead of Velox workers. +3. Keep the existing Java coordinator unchanged. +4. Validate query correctness and operational behavior with the existing native-worker test model. + +The initial implementation assumes a homogeneous worker pool per deployment. Running both native backends in one cluster, or scheduling different queries to different native backends, is outside the scope of this RFC. --- ## Test Plan -Testing covers unit validation, worker-level integration, end-to-end query correctness, and CI integration. +Testing should be described as layered so we get good coverage without duplicating large data sets or packaging flows. -### 1. Unit Testing +### 1. C++ Unit Tests -Bolt provides its own unit tests for core execution components. +Bolt has module-local C++ unit tests gated by `PRESTO_ENABLE_TESTING` / Conan `enable_testing`. -Additional tests are added for integration-specific logic, including: -* plan conversion -* expression translation -* split and connector adaptation -* backend-specific configuration handling +These tests cover: ---- +* protocol serialization/deserialization +* thrift glue +* HTTP/filter helpers +* runtime metrics +* operators +* plan and expression conversion +* split and connector conversion +* worker server components -### 2. Worker Integration Testing +Locally, this is the fastest feedback loop and should run first. -Integration tests exercise key lifecycle and execution paths, including: -* worker startup and registration -* discovery and heartbeat -* task submission and execution -* result retrieval -* basic failure and cancellation scenarios +### 2. Java External-Worker Integration Tests ---- +The main correctness suite reuses the same external-worker model as the native worker tests: + +* Java coordinator starts in-process +* Bolt worker binaries start as external processes +* the test harness points to the worker binary through `PRESTO_SERVER` +* `DATA_DIR` and optional `WORKER_COUNT` control the shared test data layout and worker fanout + +This suite covers: + +* worker startup, discovery, and heartbeat +* task submission and result retrieval +* TPCH query correctness +* Hive connector behavior +* Iceberg behavior +* writer/CTAS flows +* plan validation +* remote-function flows +* configuration-sensitive behavior such as thrift transport and storage format variants + +The current module already organizes subsets with test groups such as: + +* default suite +* `parquet` +* `remote-function` +* `textfile_reader` + +This allows CI to split expensive cases without changing the core harness. + +### 3. Container-Based Smoke Tests + +The module also includes a container smoke-test path using Testcontainers. + +This path: -### 3. End-to-End Query Testing +* builds or references one coordinator image and one worker image, +* starts one coordinator and a small Bolt worker pool, +* generates config files at test time instead of checking in large environment-specific configs, +* uses `tpch.tiny` so it does not require separate bulk data loading. -End-to-end validation is performed using the external worker execution model. +This is intended as a packaging and deployment sanity check, not as the primary correctness suite. -Primary coverage includes: -* TPCH smoke tests -* Hive connector tests +### 4. Reusing Resources Instead of Duplicating Them + +To keep Bolt testing cost under control, the initial plan is to reuse the same kinds of runtime resources already used by the native worker tests: + +* same Java coordinator-side test harness pattern +* same `PRESTO_SERVER` / `DATA_DIR` / `WORKER_COUNT` contract +* same TPCH/Hive/Iceberg data layout conventions +* same small container smoke topology +* same Docker build profile shape for coordinator + worker images + +The main thing that changes between backends is the worker binary or worker image. The coordinator artifact, test query patterns, and data conventions stay the same. + +Short term, the code keeps Bolt tests in a separate module so backend-specific jobs remain isolated. Long term, we can reduce duplicated Java test sources further, but the immediate objective is to avoid duplicating heavyweight runtime resources and datasets. + +### 5. CI Plan + +CI for Bolt should be split into a few clear lanes: + +1. **Build + C++ unit tests** + Build `presto-bolt-execution` and run module-local `ctest`. + +2. **Java external-worker correctness** + Build the Bolt worker once, then run the Java native-worker suites against that worker binary using `PRESTO_SERVER`. + +3. **Focused optional lanes** + Run heavier or specialized groups separately, for example `parquet` and `remote-function`. + +4. **Container smoke** + Build the coordinator and Bolt worker images and run a small Testcontainers smoke suite. + +This keeps most validation on the cheaper external-worker harness and reserves container-based validation for packaging smoke checks. + +### 6. Local Developer Workflow + +A practical local workflow is: + +1. build the Bolt worker in `presto-bolt-execution` +2. run C++ unit tests +3. run targeted Java external-worker tests with `PRESTO_SERVER=` +4. run container smoke tests only when validating packaging/image changes + +This gives a fast local loop while preserving comparability with CI. + +--- + +## Risks and Limitations + +* The current implementation is not yet a repo-wide selectable backend in the root Maven reactor. +* `presto-bolt-execution` currently depends on sibling sources from `presto-native-execution`. +* The shared surface between backends is intentionally small, so some source duplication remains in the initial landing. +* Testing is designed to reuse datasets and harness patterns, but further consolidation of duplicated test sources can happen later. --- -### 4. CI Integration +## Conclusion + +The code in [Weixin-Xu/presto#1](https://github.com/Weixin-Xu/presto/pull/1) adds Bolt as a second native backend by introducing a sibling `presto-bolt-execution` module, reusing only a narrow set of extracted helpers and protocol/thrift inputs from `presto-native-execution`, and preserving the existing coordinator and worker protocol. + +The RFC should describe that implementation directly: -CI covers: -* build -* unit tests -* basic integration validation \ No newline at end of file +* separate backend module, +* explicit build-time backend selection, +* unchanged coordinator contract, +* small shared extracts instead of a large framework refactor, +* layered testing that reuses the same coordinator model, data layout, and container topology instead of duplicating heavyweight resources. From efd15593e4546898a4a87afba3a8c4f4d9099b45 Mon Sep 17 00:00:00 2001 From: Weixin-Xu Date: Fri, 8 May 2026 20:09:43 +0800 Subject: [PATCH 3/7] Add proposers --- RFC-0023-bolt-backend.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/RFC-0023-bolt-backend.md b/RFC-0023-bolt-backend.md index 6252cf15..1195be78 100644 --- a/RFC-0023-bolt-backend.md +++ b/RFC-0023-bolt-backend.md @@ -2,7 +2,9 @@ ## Proposers +* frankobe * Weixin Xu +* Zac Blanco ## Related Issues From ee85f57b58efb11d47e5da38243001d85a7dfd77 Mon Sep 17 00:00:00 2001 From: Weixin-Xu Date: Sat, 9 May 2026 11:25:45 +0800 Subject: [PATCH 4/7] update rfc number --- RFC-0023-bolt-backend.md => RFC-0024-bolt-backend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename RFC-0023-bolt-backend.md => RFC-0024-bolt-backend.md (99%) diff --git a/RFC-0023-bolt-backend.md b/RFC-0024-bolt-backend.md similarity index 99% rename from RFC-0023-bolt-backend.md rename to RFC-0024-bolt-backend.md index 1195be78..ae0e0934 100644 --- a/RFC-0023-bolt-backend.md +++ b/RFC-0024-bolt-backend.md @@ -1,4 +1,4 @@ -# RFC-0023: Introduce Bolt Backend for Presto Native Execution +# RFC-0024: Introduce Bolt Backend for Presto Native Execution ## Proposers From 2ad752bfa48cd3d952eea89d3b6ea4cd8ded5588 Mon Sep 17 00:00:00 2001 From: "xuweixin.rex" Date: Tue, 12 May 2026 15:20:09 +0800 Subject: [PATCH 5/7] add implement workflow png --- RFC-0024-bolt-backend.md | 2 +- ...FC-0024-bolt-backend-implement-workflow.png | Bin 0 -> 135748 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 RFC-0024/RFC-0024-bolt-backend-implement-workflow.png diff --git a/RFC-0024-bolt-backend.md b/RFC-0024-bolt-backend.md index ae0e0934..d07e3358 100644 --- a/RFC-0024-bolt-backend.md +++ b/RFC-0024-bolt-backend.md @@ -14,7 +14,7 @@ --- ## Summary - +![Distributed_procedure_architecture](RFC-0024/RFC-0024-bolt-backend-implement-workflow.png) This RFC introduces Bolt as an additional backend for Presto's native worker implementation. The initial implementation keeps the existing Velox-based worker unchanged and adds a sibling module, `presto-bolt-execution`, that implements the same Presto worker protocol against Bolt. The coordinator, query protocol, and external worker model remain unchanged. diff --git a/RFC-0024/RFC-0024-bolt-backend-implement-workflow.png b/RFC-0024/RFC-0024-bolt-backend-implement-workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..67781feaa478bad033b50466c3f530150e3c6d16 GIT binary patch literal 135748 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 Date: Tue, 12 May 2026 19:42:47 +0800 Subject: [PATCH 6/7] Add review comments as TBD items. --- RFC-0024-bolt-backend.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/RFC-0024-bolt-backend.md b/RFC-0024-bolt-backend.md index d07e3358..9611e3a0 100644 --- a/RFC-0024-bolt-backend.md +++ b/RFC-0024-bolt-backend.md @@ -14,7 +14,6 @@ --- ## Summary -![Distributed_procedure_architecture](RFC-0024/RFC-0024-bolt-backend-implement-workflow.png) This RFC introduces Bolt as an additional backend for Presto's native worker implementation. The initial implementation keeps the existing Velox-based worker unchanged and adds a sibling module, `presto-bolt-execution`, that implements the same Presto worker protocol against Bolt. The coordinator, query protocol, and external worker model remain unchanged. @@ -58,7 +57,7 @@ This allows us to add a second backend without changing the Java coordinator. --- ## Proposed Implementation - +![Distributed_procedure_architecture](RFC-0024/RFC-0024-bolt-backend-implement-workflow.png) ### High-Level Shape The initial implementation adds a new top-level module: @@ -112,8 +111,6 @@ The RFC draft should be explicit that the architecture change in this PR is incr The Bolt implementation reuses a small number of assets from `presto-native-execution`: -* generic task initialization helper extracted to `presto-native-execution/presto_cpp/main/task/TaskManagerHelpers.h` -* generic task stats helper extracted to `presto-native-execution/presto_cpp/main/task/PrestoTaskStatsHelpers.h` * small HTTP filter helper headers extracted for shared formatting and response behavior * shared runtime-metrics helper header for Prometheus registry plumbing * existing thrift base definitions and thrift-generation support files @@ -263,10 +260,8 @@ This suite covers: * task submission and result retrieval * TPCH query correctness * Hive connector behavior -* Iceberg behavior * writer/CTAS flows * plan validation -* remote-function flows * configuration-sensitive behavior such as thrift transport and storage format variants The current module already organizes subsets with test groups such as: @@ -297,8 +292,9 @@ To keep Bolt testing cost under control, the initial plan is to reuse the same k * same Java coordinator-side test harness pattern * same `PRESTO_SERVER` / `DATA_DIR` / `WORKER_COUNT` contract -* same TPCH/Hive/Iceberg data layout conventions +* same TPCH/Hive data layout conventions * same small container smoke topology +* same native tests from `presto-native-tests` * same Docker build profile shape for coordinator + worker images The main thing that changes between backends is the worker binary or worker image. The coordinator artifact, test query patterns, and data conventions stay the same. @@ -313,10 +309,10 @@ CI for Bolt should be split into a few clear lanes: Build `presto-bolt-execution` and run module-local `ctest`. 2. **Java external-worker correctness** - Build the Bolt worker once, then run the Java native-worker suites against that worker binary using `PRESTO_SERVER`. + Build the Bolt worker once, then run the Java native-worker suites against that worker binary using `PRESTO_SERVER` including 'presto-native-tests'. 3. **Focused optional lanes** - Run heavier or specialized groups separately, for example `parquet` and `remote-function`. + Run heavier or specialized groups separately, for example `parquet`. 4. **Container smoke** Build the coordinator and Bolt worker images and run a small Testcontainers smoke suite. @@ -330,7 +326,7 @@ A practical local workflow is: 1. build the Bolt worker in `presto-bolt-execution` 2. run C++ unit tests 3. run targeted Java external-worker tests with `PRESTO_SERVER=` -4. run container smoke tests only when validating packaging/image changes +4. run 'presto-native-tests' with `PRESTO_SERVER=` This gives a fast local loop while preserving comparability with CI. @@ -356,3 +352,9 @@ The RFC should describe that implementation directly: * unchanged coordinator contract, * small shared extracts instead of a large framework refactor, * layered testing that reuses the same coordinator model, data layout, and container topology instead of duplicating heavyweight resources. + +## TBD + +1. How will future divergence between Bolt, Velox, and Presto be handled, especially when protocol or interface changes are not fully compatible across projects? + +2. How should unsupported Bolt plan capabilities be communicated to the coordinator so the planner can avoid generating incompatible plans? \ No newline at end of file From da04a481a7daacd5efee2c02943b2037ba4cf8d6 Mon Sep 17 00:00:00 2001 From: "xuweixin.rex" Date: Tue, 12 May 2026 20:38:18 +0800 Subject: [PATCH 7/7] TBD 2 --- RFC-0024-bolt-backend.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RFC-0024-bolt-backend.md b/RFC-0024-bolt-backend.md index 9611e3a0..cb1691f4 100644 --- a/RFC-0024-bolt-backend.md +++ b/RFC-0024-bolt-backend.md @@ -357,4 +357,4 @@ The RFC should describe that implementation directly: 1. How will future divergence between Bolt, Velox, and Presto be handled, especially when protocol or interface changes are not fully compatible across projects? -2. How should unsupported Bolt plan capabilities be communicated to the coordinator so the planner can avoid generating incompatible plans? \ No newline at end of file +2. When multiple homogeneous backend pools are deployed, how can the planner avoid generating plans that the target backend pool cannot execute? \ No newline at end of file