nats-io / nats-architecture-and-design

Architecture and Design Docs
Apache License 2.0
187 stars 20 forks source link

Support sealing streams #58

Closed ripienaar closed 1 year ago

ripienaar commented 2 years ago

Overview

When a stream is sealed it cannot have new messages added or messages removed and it cannot be unsealed. Limits also do not apply to a sealed stream - messages will not age out.

Streams can only be sealed via update, not during create time.

Server PR https://github.com/nats-io/nats-server/pull/2584

Client Actions

  1. A client should report the Stream Configuration sealed value as it receives it from the server.
  2. If a sealed stream is published to, the server will throw an error. Pass this to the user.

Clients and Tools

Other Tasks

Client authors please update with your progress. If you open issues in your own repositories as a result of this request, please link them to this one by pasting the issue URL in a comment or main issue description.

bruth commented 1 year ago

Support in Rust as of https://github.com/nats-io/nats.rs/pull/256 /cc @Jarema

bruth commented 1 year ago

Support in Python as of https://github.com/nats-io/nats.py/pull/216 /cc @wallyqs

bruth commented 1 year ago

PR for docs: https://github.com/nats-io/nats.docs/pull/482