Skip to content

pauseUntil not applied to existing consumers (missing Pause API call?) #351

Description

@oliverlambson

When pauseUntil is set on an existing consumer, nack sends it via the consumer create/update API. However, the nats server intentionally ignores PauseUntil on updates (jetstream_api.go#L4706-L4710) -- it can only be changed via the dedicated $JS.API.CONSUMER.PAUSE endpoint.

  	// If the consumer already exists then don't allow updating the PauseUntil, just set
  	// it back to whatever the current configured value is.

This means pauseUntil only works when creating a new consumer, not when updating an existing one. nack reports "Updated Consumer" successfully but the pause is silently dropped by the server.

nack maps pauseUntil into consumer options in consumerSpecToConfig, but the createOrUpdate update path only calls UpdateConfiguration - it never calls the Pause API.

nack would need to detect pauseUntil changes and call the Pause API separately (e.g. via jsm.go's consumer.Pause(deadline)).

Versions: NACK v0.22.2, nats-server v2.12.4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions