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]

Reply via email to