Observed behavior
I'm not sure whether this is a defect or expected behavior. I'm opening this issue to collect more information, as I haven't been able to find any related details in the documentation.
Our setup is a single-node deployment with no replication enabled.
The NATS server is receiving and processing events. At some point, the physical server is shut down (for any reason) and then started again.
After the restart, we observe that durable consumers associated with streams using the Limits retention policy have their acknowledgement floor reset to 1. This causes a full replay of all messages in the corresponding streams.
We noticed that this behavior only affects consumers related to streams that, during server startup, log messages like the following:
[WRN] Filestore [streamName] Stream state outdated, last block has additional entries, will rebuild
[WRN] Filestore [streamName] Recovering stream state from index errored: prior state file ...
Is this an expected behavior when a stream state rebuild happens, or could this indicate an issue with the stream/consumer state recovery?
Could it be related to sync_interval configuration?
Expected behavior
Durable consumer should be able to maintain AckFloor after restore
Server and client version
nats server v2.12.5
Host environment
- Nats Jetstream v2.12.5 on a single node installation on a physical server
- Kubernetes deployed as RKE2
- File based storage backed by a Longhorn PVC
- OS: Linux RHEL compatible
Steps to reproduce
No response
Observed behavior
I'm not sure whether this is a defect or expected behavior. I'm opening this issue to collect more information, as I haven't been able to find any related details in the documentation.
Our setup is a single-node deployment with no replication enabled.
The NATS server is receiving and processing events. At some point, the physical server is shut down (for any reason) and then started again.
After the restart, we observe that durable consumers associated with streams using the Limits retention policy have their acknowledgement floor reset to 1. This causes a full replay of all messages in the corresponding streams.
We noticed that this behavior only affects consumers related to streams that, during server startup, log messages like the following:
Is this an expected behavior when a stream state rebuild happens, or could this indicate an issue with the stream/consumer state recovery?
Could it be related to
sync_intervalconfiguration?Expected behavior
Durable consumer should be able to maintain AckFloor after restore
Server and client version
nats server v2.12.5
Host environment
Steps to reproduce
No response