Skip to content

[Architecture Review][P1] Standardize Storage SPI capabilities + TCK #5303

Description

@qqeasonchen

Execution meta — see plan: #5296

Problem

MeshStoragePlugin unifies send/poll, which is the right direction, but Kafka, RocketMQ 4/5, and Lite Topic differ significantly in partitions, pull cursor, and broker ACK capabilities.

Proposed direction

Add a capability declaration and a TCK for storage plugins:

StorageCapabilities
- partitions
- seekByOffset
- delayedBrokerAck
- liteTopic
- topicManagement
- orderedDelivery
- durablePullCursor

Each plugin must pass:

  • send → poll round-trip;
  • restart / recovery;
  • seek / offset;
  • partition assignment;
  • retry / DLQ;
  • broker outage;
  • configuration validation and security/auth;
  • semantic compatibility.

Acceptance criteria

  • StorageCapabilities exists and each plugin declares its capabilities.
  • A shared TCK covers the scenarios above and is run per plugin.
  • Plugins that cannot satisfy a capability are explicitly marked, not silently divergent.

Part of the Architecture Review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    improvementImprove the mechanism or performancetesting

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions