Closed fernandozago closed 6 months ago
Works as expected when I use this config: *Even though it warns a timeout and re-create the consumer from the sequence
new NatsJSOrderedConsumerOpts()
{
ReplayPolicy = ConsumerConfigReplayPolicy.Original,
DeliverPolicy = ConsumerConfigDeliverPolicy.ByStartSequence,
OptStartSeq = 1
}
info: NATS.Client.JetStream.NatsJSOrderedConsumer[2010]
Created W6SdcyNQZz5x1J6gieYgVL with sequence 0
$KV.testdata.1: 29/02/2024 11:29:46
$KV.testdata.2: 29/02/2024 11:29:47
$KV.testdata.3: 29/02/2024 11:29:48
$KV.testdata.4: 29/02/2024 11:29:53
$KV.testdata.5: 29/02/2024 11:30:13
warn: NATS.Client.JetStream.Internal.NatsJSConsume[2003]
Idle heartbeat timeout
warn: NATS.Client.JetStream.NatsJSOrderedConsumer[2019]
idle-heartbeat timed out. Retrying...
warn: NATS.Client.JetStream.NatsJSOrderedConsumer[2018]
Consumer loop exited
info: NATS.Client.JetStream.NatsJSOrderedConsumer[2010]
Created Ub5ek7phy3IrFEoKE5gVCk with sequence 5
$KV.testdata.6: 29/02/2024 11:31:13
Sorry, wrong repo!
Observed behavior
When using OrderedConsumer, it warns a timeout from NATS.Client.JetStream.Internal.NatsJSConsume, when the GAP between two messages is too big, then throw exception:
Expected behavior
Should replay as is, as configured ConsumerConfigReplayPolicy.Original
Server and client version
Server Version = 2.10.11 Client Version = 2.1.0
Host environment
Not Relevant
Steps to reproduce