Comments (8)
Boolean CLI options take —no-ack unfortunately the library they generate the CLI doesn’t show this clearly
from jetstream.
Boolean CLI options take —no-ack unfortunately the library they generate the CLI doesn’t show this clearly
Yep, just tried that. it takes it. but it does not make it into help.
from jetstream.
Yeah it’s also a pain to prompt for because you get basically a 3 state Boolean.
Will see if I can turn it into a nil pointer Boolean which is really annoying in go
from jetstream.
No Rush, I basically filed this so it's not forgotten.
The option is a result of jetstream acking whenever there's a response subject, I believe the fix should be in not doing that.
from jetstream.
@matthiashanel If I follow what you're saying you want JS not to ack receiving messages via the reply subject? How else would it ack receiving messages?
from jetstream.
@ripienaar , I assume things can still change while in technical preview.
For starters I'd not use nc.Request(q.Topic, out, timeout) to receive an ack.
It forces the entire connection to use old style inboxes.
I would add a call that does basically does what request does (create an inbox, subscribe, auto unsubscribe 1, publish request, s.next) but instead uses an inbox with a new prefix $JS._INBOX.
This would still be be compatible with the protocol.
Adding a helper say nc.RequestJSAck(...) would keep usage simple.
Jetstream would only respond if such an inbox was used.
To support publishrequest getting multiple answers, from nats clients as well as jetstream, I'd make the inbox name format known and add a call NewInboxWithAckResponse(), So that the client can create it's own subscriber etc...
from jetstream.
While those would be interesting improvements one of the main driving forces for the JS design is to be “just nats” it has to fit in naturally with what people already know.
We don’t want to create ways to do JS specific requests and that’s a feature imo.
Re the inboxes - we have to use old style inboxes so JS know when interest is gone
from jetstream.
This is at the cost of requiring configuration that at best has to be set, at worst allows you to shoot yourself in the foot.
Either way smth. new has to be learned, semantic overload of existing calls and thus new responses, or a new inbox soliciting a certain response (an inbox we could, by name design, make subject to permissions).
I just want to have brought it up.
from jetstream.
Related Issues (20)
- Listen multiple consumers not work HOT 1
- does jetstream support message delay? HOT 4
- In pull mode, sending an AckNak does not request a new message HOT 10
- State of dead letter queues HOT 4
- #JetStream Retention Policy Interest HOT 1
- Replicating between JetStream cluster HOT 6
- feature: List All Consumers via Jetstream Admin API HOT 10
- Crash when doing stream commands from cli HOT 3
- Jetstream Operator or NATS Operator support? HOT 2
- #JetStream#LeafNode Support? HOT 6
- NATS Account Server Support? HOT 5
- Support placement
- cannot create clusters on Nats CLI HOT 1
- Partitioned stream workers HOT 2
- Batch operation doesn't work HOT 7
- New jetstream clustering -what about super clusters with gateways? HOT 4
- Disorder When Pulling Message from WorkQueue HOT 1
- Dart client for Flutter Web and Flutter native supported ? HOT 1
- 3 data center cluster examples HOT 2
- Running clustered jetstream in kubernetes HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jetstream.