-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Kibana Client Will Detect Version Changes of Kibana Server #161594
Comments
Pinging @elastic/appex-sharedux (Team:SharedUX) |
Thanks for creating this issue!
We don't have a way do this for serverless today (I guess that is what this issue is about :) ). More specifically: on serverless we will be deploying versions "between" stack versions but we only communicate the stack version today (i.e. We'd need to modify the version being sent via
I prefer (1), I also think it will be easier to implement as it remains largely compatible with how this value is used today, but I can also see a case for (2) in that "stack version" is not really a thing on serverless anymore. Note: we have a way to get a unique build number for Kibana, this will be a number like (CC @mistic @jbudz to keep me honest) Probably good enough for our purposes but personally I think a commit SHA or git tag would be more useful.
I'm not sure that we have a way of reliably knowing that a specific mismatch has started or ended bc we'd need a way to uniquely ID that browser and I don't think we have that today. Identifying errors that result from a given request in a generic way might be tricky. Perhaps a starting point could be to check for any response >399, check the version and create a log. |
Yep looks good. Build number tracks the total number of commits. Build 64910 could point to two different branches. I don't think it's likely to occur but if there is a uniqueness constraint it would be safer to check both version and build number.
I'm out of date here. Are there possible situations where endpoints will need to know a more granular version than API version? Would knowledge of how old a build is be useful vs version mismatch? |
Thanks for the info @jloleysens and @jbudz . The ask is very much a draft in progress, I wanted something as a discussion starting point. Definitely expect it to change! @clintandrewhall mentioned in a slack chat that the draft logging and telemetry points aren't necessary, and that a cleaner approach would be to add metadata to requests and logged errors. @sixstringcode and @osmanis - since we moved away from a UX notification of the version mismatch state, what is it that PM wants out of the detection? Identifying errors that happen while the versions are mismatched was mentioned, which is what inspired the initial draft ask. |
@jbudz I was proposing using
But perhaps there is a different way to achieve this :) |
After discussing with @osmanis and @sixstringcode , the product requirement has been refined to "Be able to tell when a client/server mismatch is occurring, and be able to identify errors that happen during the mismatch." This does NOT assume that errors that occur during the mismatch are caused by it. Since this can be accomplished in a much simpler way by adding version data to request and response headers, and there is no requirement for any additional UX or user interaction for the MVP, these requirements are deprecated. The main discussion of how Kibana will communicate the availability of an upgrade from the server to the client is here. |
!!Working Draft Requirements:
In Serverless deployments, the Kibana client will:
Implementation of version change detection is discussed here.
The text was updated successfully, but these errors were encountered: