-
Notifications
You must be signed in to change notification settings - Fork 706
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
Remove SCHEMA endpoint and api_url #1270
Conversation
Signed-off-by: Piotr Piotrowski <piotr@synadia.com>
(@piotrpio test failure - unrelated?) |
@levb yes, unrelated. I'm working on all those flaky tests that we have now. |
I thought that the schema information was a great idea, :( have to rewrite our code to use metadata instead now. |
How am I supposed to query micro for the endpoint metadata? It is not in the "INFO". Are we really supposed to use "STATS" for getting the endpoint meta-data? It looks like the |
Metadata is in info response https://github.com/nats-io/jsm.go/blob/main/schemas/micro/v1/info_response.json |
@ripienaar this is the service level metadata. I am talking about the endpoint metadata: We use that to auto-discover the request and reply schemas (including their version). This also contains the documentation for these endpoints. |
There is no per endpoint metadata atm yes so would only be able to use the top level service metadata we could consider per endpoint metadata as well |
What do you mean, there is no endpoint metadata? The code above is in the package. We have been using it for some weeks. Our code relies on that. Adding all the endpoint metadata to the main service makes it clunky. We also were not aware that the API does change so much (removing the endpoint schema info from all the libraries). |
Hey @oderwat Sorry to hear you had to rewrite your code, but huge thanks for being an early adopter of micro! We decided to get rid of Right now per-endpoint metadata is included in About changes in the API - there is a note in the codebase: // Notice: Experimental Preview
//
// This functionality is EXPERIMENTAL and may be changed in later releases. Info about this functionality being experimental was also included in release notes when |
@piotrpio I am not complaining about changes in experimental code. That is to be expected, and we do appreciate that you design the stuff in the way you do. The product is fantastic. If the metadata in the endpoints stays, this would be very nice. Having it available through STATS would be enough too. But I think having the endpoint information in the "INFO" and removing it from the "STATS" would be more logical (as the metadata should not change as "STATS" do). There is also that the "INFO" lists the "subjects" which I think reflect the "endpoints", so I would probably replace the "subjects" in the "INFO" call to the actual endpoint data consisting of the "subject" and the "meta" per endpoint. This way, you had the static information (all meta-data) in the info and the stats call does not need to be used for the endpoint metadata recovery. |
That sounds nice. Let us discuss that (we need parity in all client libraries) and get back to you, but possibly this is what we'll want to do. |
@oderwat we'll be adding endpoint info (with metadata) to |
@piotrpio LGTM :) |
Addresses nats-io/nats-architecture-and-design#220