Skip to content

Migrate to Result Service and MinIO for Execution Results #4126

@mengw15

Description

@mengw15

Feature Summary

Background

Currently, computing units are responsible for writing execution results and execution records directly to PostgreSQL / Iceberg, and execution result files are stored inside the computing units. This leads to several issues:

  • Result persistence logic lives inside the computing units.
  • Computing units need direct DB access and JDBC configuration.

To improve isolation, we want to move execution-result handling out of the computing units into a dedicated microservice.

Proposed Solution

Architecture Overview

Migrate computing units to use existing services instead of direct database access:

  1. Result Service/REST Catalog Service (LakeKeeper) for Iceberg catalog operations

    • CUs use Result Service instead of direct JDBC connection.
    • Database credentials only known to Result Service.
  2. MinIO (S3-compatible object storage) for storing result files

    • CUs write Parquet files directly to MinIO.
    • Global, shared storage accessible from all CUs.

High-level diagram of current architecture and the proposed one

Current:

Image

New:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    triagePending for triaging

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions