New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[added] option to not create durable on subscribe #734
Conversation
Signed-off-by: Matthias Hanel <mh@synadia.com>
Signed-off-by: Matthias Hanel <mh@synadia.com>
d2eaa57
to
30415af
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Help me understand when this option would be used?
@derekcollison This new call would be used whenever you don't want the client to create durables/streams automagically. |
I guess that is what I was looking for clarity on since now we bind to existing durables if they exist and don't always create them, so wanted to make sure I understood the difference in this case. |
if you call I can add an exception if no durable name was provided an an ephemeral durable needs creating. |
When is their a case where you can to have a durable option like we do now but not create? This because in those situations you do not want the client lib doing its probing to see which direction it should go with a durable etc? |
Exactly, when I only export the next subject or have restrictive permissions I want to avoid probing around, as this would fail. |
Signed-off-by: Matthias Hanel <mh@synadia.com>
Signed-off-by: Matthias Hanel <mh@synadia.com>
As it is, this is replacing the |
IIRC, with direct mode there was a potential problem of overlapping acks with duplicate consumers. Does that issue present itself here? |
Co-authored-by: Waldemar Quevedo <wally@synadia.com>
Co-authored-by: Waldemar Quevedo <wally@synadia.com>
@ColinSullivan1 can you explain how this issue showed itself? |
I think that @ColinSullivan1 means that if you run Subscribe multiple times and they are not a queue subscriber with the same durable name, they can all receive the same message that can be acked. |
Signed-off-by: Matthias Hanel <mh@synadia.com>
Co-authored-by: Waldemar Quevedo <wally@synadia.com>
Co-authored-by: Waldemar Quevedo <wally@synadia.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think whenever JetStream is imported from another account we could refer to it as being bound to the account as an import, LGTM.
@ColinSullivan1 @derekcollison is this change in it's current form ok with you? |
Let's setup a quick meeting for tomorrow to discuss. You and Colin and I and Wally.. |
Fixed via #740 |
Signed-off-by: Matthias Hanel mh@synadia.com
When exporting/importing say the next subject, the consumer exists already and does not need to be created.
Thus the client should also not try to look it up.
We went down the road of a don't create durable option (1st commit) but altered it to have a dedicated JS create call.
We believe that using
BindJetStream
might be easier to explain