nats-io / nats-architecture-and-design

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

Bind subscribe validation #69

Open scottf opened 2 years ago

scottf commented 2 years ago

Overview

Should a bind subscription be required to validate against subscribe subject / filter and other subscribe option logic like preventing consumer configuration changes, or should a bind ignore all these checks except for ensuring the consumer is found?

The behavior will be documented in ADR-15

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.

scottf commented 2 years ago

The java /.net clients perform filter validation and check for consumer changes even when the user specifies to bind.

aricart commented 2 years ago

For the javascript clients if the filter subject doesn't match the filter subject on the durable consumer, the operation is rejected.

piotrpio commented 1 year ago

For Go client, operation is rejected if there are any discrepancies between what's on the consumer vs what's in user config: https://github.com/nats-io/nats.go/commit/d5b5768e78d23ef4973efefac43cf0a9a69a6e69

Jarema commented 1 year ago

In Rust simplified Jetstream approach, we're binding by consumer name.