You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new field in StreamConfig that is a struct representing consumer limits created on given stream.
It will not enforce limits on existing consumers. Having consumers with values higher than new limits (so it includes consumers with defaults) will result in error when setting the limits. No limits will be set at all.
After setting new limits, when creating new consumers, their defaults will be lowered to the current stream consumer limits if those are lower than previous limits or lower than global nats-server defaults.
If new consumers have explicitly set values for inactive_threshold or max_ack_pending, those will be left as they are. If passed value is too high (above limits), consumer creation will fail. Stream will not lower those values.
// In Stream Config
type StreamConfig struct {
...
// The following defaults will apply to consumers when created against
// this stream, unless overridden manually.
ConsumerLimits StreamConsumerLimits `json:"consumer_limits"`
...
}
// Struct representing the `consumer_limits` field value.
type StreamConsumerLimits struct {
InactiveThreshold time.Duration `json:"inactive_threshold,omitempty"`
MaxAckPending int `json:"max_ack_pending,omitempty"`
}
first_seq
Defines sequence from which stream starts when created
type StreamConfig struct {
...
FirstSeq uint64 `json:"first_seq,omitempty"`
...
}
Not documented in ADRs.
Not mandatory for 2.10 client release if causes release delay.
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.
The text was updated successfully, but these errors were encountered:
I've talked directly to Neil and Tomasz. There is some clarity to be gained on the explanation of consumer limits, but I don't think there is anything for the client to do, the server will return an error if there is a constraint violation when updating a stream of adding/updating a consumer.
Maybe the explanation just needs to be proliferated to the docs.
Overview
Two additional fields were added in 2.10:
consumer_limits
first_seq
consumer_limits
A new field in
StreamConfig
that is a struct representing consumer limits created on given stream.inactive_threshold
ormax_ack_pending
, those will be left as they are. If passed value is too high (above limits), consumer creation will fail. Stream will not lower those values.first_seq
Defines sequence from which stream starts when created
Not documented in ADRs.
Not mandatory for 2.10 client release if causes release delay.
Clients and Tools
Other Tasks
Implemented
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.
The text was updated successfully, but these errors were encountered: