Skip to content

[#11851] docs: Add optimizer service design#11852

Open
roryqi wants to merge 5 commits into
apache:mainfrom
qqqttt123:optimizer-service-design-doc
Open

[#11851] docs: Add optimizer service design#11852
roryqi wants to merge 5 commits into
apache:mainfrom
qqqttt123:optimizer-service-design-doc

Conversation

@roryqi

@roryqi roryqi commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Add a design document for introducing an Optimizer Service for Apache Gravitino.

The design covers:

  • Current optimizer CLI limitations.
  • Goals, non-goals, and solution alternatives.
  • Proposed service architecture, task runtime, REST APIs, CLI service mode, rollout plan, and task breakdown.

Why are the changes needed?

The current Table Maintenance Service (Optimizer) is primarily driven by local CLI execution. A design document is needed to describe how to evolve it into a long-running service with asynchronous task execution, queryable status, and CLI compatibility.

Fix: #11851

Does this PR introduce any user-facing change?

No. This PR only adds a design document.

How was this patch tested?

  • git diff --check
  • git diff --cached --check
  • Verified the design document follows the project gravitino-design-doc structure.

@roryqi roryqi changed the title [MINOR] docs: Add optimizer service design [#11851] docs: Add optimizer service design Jul 1, 2026
@roryqi roryqi marked this pull request as draft July 1, 2026 11:54
roryqi and others added 2 commits July 1, 2026 12:07
Add task state transition diagram, FAILED error payload schema,
service-side configuration keys, and align Rollout Plan phase names
with the Task Breakdown.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@roryqi roryqi force-pushed the optimizer-service-design-doc branch from 9bd5658 to 753e6a4 Compare July 1, 2026 12:07
@roryqi roryqi changed the base branch from branch-1.3 to main July 1, 2026 12:07
roryqi and others added 2 commits July 1, 2026 12:26
Rework the async REST API to mirror the Gravitino job run APIs: response
envelope with `code`, job-style status vocabulary (queued/started/
succeeded/failed/cancelling/canceled), `audit` records, ErrorModel-shaped
errors, cancel via POST to the task resource, and the versioned media type.
Convert Solution Investigations to sub-section format and align all
Markdown table columns.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rename lingering "task state" references to "task status" in the rollout
and task-breakdown phases so the whole doc uses one vocabulary.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@roryqi roryqi force-pushed the optimizer-service-design-doc branch 3 times, most recently from f2d7d9e to 45693f0 Compare July 2, 2026 08:20
@roryqi roryqi force-pushed the optimizer-service-design-doc branch from 45693f0 to 4bc155a Compare July 2, 2026 08:23
@roryqi roryqi marked this pull request as ready for review July 2, 2026 08:26
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

Code Coverage Report

Overall Project 67.4% 🟢
Files changed No Java source files changed -

Module Coverage
aliyun 1.72% 🔴
api 46.82% 🟢
authorization-common 85.96% 🟢
aws 26.5% 🔴
azure 2.47% 🔴
catalog-common 10.4% 🔴
catalog-fileset 80.23% 🟢
catalog-glue 66.91% 🟢
catalog-hive 79.42% 🟢
catalog-jdbc-clickhouse 80.2% 🟢
catalog-jdbc-common 44.22% 🟢
catalog-jdbc-doris 80.28% 🟢
catalog-jdbc-hologres 54.03% 🟢
catalog-jdbc-mysql 79.23% 🟢
catalog-jdbc-oceanbase 80.91% 🟢
catalog-jdbc-postgresql 82.29% 🟢
catalog-jdbc-starrocks 78.51% 🟢
catalog-kafka 77.01% 🟢
catalog-lakehouse-generic 58.53% 🟢
catalog-lakehouse-hudi 79.1% 🟢
catalog-lakehouse-iceberg 85.86% 🟢
catalog-lakehouse-paimon 84.25% 🟢
catalog-model 77.72% 🟢
cli 44.51% 🟢
client-java 78.01% 🟢
common 50.17% 🟢
core 82.59% 🟢
filesystem-hadoop3 77.3% 🟢
flink 0.0% 🔴
flink-common 47.09% 🟢
flink-runtime 0.0% 🔴
gcp 14.12% 🔴
hadoop-auth 66.67% 🟢
hadoop-common 12.7% 🔴
hive-metastore-common 53.29% 🟢
iceberg-common 58.3% 🟢
iceberg-rest-server 73.94% 🟢
idp-basic 85.71% 🟢
integration-test-common 0.0% 🔴
jobs 66.17% 🟢
lance-common 20.81% 🔴
lance-rest-server 64.84% 🟢
lineage 53.02% 🟢
optimizer 83.24% 🟢
optimizer-api 21.95% 🔴
server 85.96% 🟢
server-common 74.62% 🟢
spark 28.57% 🔴
spark-common 46.01% 🟢
trino-connector 40.29% 🟢

@roryqi

roryqi commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

@jerryshao @lasdf1234 @bharos @puchengy Could u take a look at this design document?

@lasdf1234

Copy link
Copy Markdown
Collaborator

@jerryshao @lasdf1234 @bharos @puchengy Could u take a look at this design document?

No problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Introduce Optimizer Service for table maintenance workflows

2 participants