question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Consumer does not process message without Deliver options

See original GitHub issue

follow issue https://github.com/nats-io/stan.net/issues/171

Currently I see it works well with this command:

.\StanSub -qgroup newgroup -clientid xyz -all

But when I remove -all/-seq/-last then it won’t process message It also does not process message when I add durable param like this

.\StanSub -qgroup groupA -clientid xyz -all -durable aaaa

In another hand, when I used param -last it just show the last message in streams, I thought it will process message from the last message that it processed before at the point consumer is stopped

And sometime with -durable it process the last message it stopped in the last times, but sometime it does not do anything

Added video for reproducing

issues-with-nats-client.zip

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:8 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
ColinSullivan1commented, Jan 9, 2020

For durables, the starting position given by the client when restarting a durable subscription is ignored… The 2nd run was restarting the durable. You’ll need to unsubscribe the durable with the -unsubscribe parameter to receive all messages again.

https://docs.nats.io/nats-streaming-concepts/channels/subscriptions/durable

1reaction
ColinSullivan1commented, Jan 9, 2020

@minhhungit , The server will retain state of a subscriber until it recognizes that subscriber has been disconnected. If the subscriber is durable, it’ll retain that state, so the subscriber can be disconnected for any period of time and will resume where it left off until it is unsubscribed. Note that If the server has reached any of it’s limits and rolled messages off, then the subscriber may not receive all of the messages sent while it was down, but this is not a common case.

If you start a durable (or any) subscription without requesting any previously published messages (in the sample, -all, -seq, -since), that subscriber will only receive messages published after the point it has subscribed.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Message Delivery Guarantees for Apache Kafka
The idempotent delivery option guarantees that resending a message will not result in duplicate entries in the log, and that log order is...
Read more >
Consumers
In this sense a consumer is a subscription for message delivery that has to be registered before deliveries begin and can be cancelled...
Read more >
Apache Kafka's Delivery Guarantees
At-most-once delivery: The producer will send messages at most one time, and will not try sending them again if it receives an error...
Read more >
Avoiding repeated delivery of browsed messages
By using certain open options and get-message options, you can mark messages as having been browsed so that they are not retrieved again...
Read more >
10 Reasons Why Some Messages Don't Get Delivered
With SMS, most of the heavy lifting is done by service providers, so it can be confusing when messages don't get delivered. Here's...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found