vrajat opened a new pull request, #13267: URL: https://github.com/apache/pinot/pull/13267
#13221 will provide backward and forward compatibility of the serialization format as long as [best practices](https://protobuf.dev/programming-guides/proto3/#updating) are followed. However, this is not sufficient to support rolling upgrades for V2 workloads. V2 Plan versioning is required because the semantics of a plan may change. Some examples are: * New plan nodes may be generated for the same query. * Behavior of a plan node may change. * Class definition (member variables) may change. This implies that newer brokers & servers have to support multiple plan versions and they have to choose to use older plan versions while the upgrade is in progress. As a first step, a plan version field is added to `QueryRequest` message as a string field. The field can be used to make sure that two components are communicating using the same version. In the future, the best practices on how to manage plan versions as well as features to choose the right plan versions in mixed mode clusters will be implemented. Tags: `multi-stage` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
