sodonnel commented on PR #11226:
URL: https://github.com/apache/ozone/pull/11226#issuecomment-5619736092

   > The OBS-rejection check moves from the client to the OM. In a rolling 
upgrade, a
   new OFS client talking to an old OM will no longer reject getFileStatus on an
   OBJECT_STORE bucket, because the old OM has no server-side check and the new 
client
   no longer performs the InfoBucket-based one. New-client/new-OM and 
old-client/*
   are unaffected. Flagging for reviewer sign-off on whether that upgrade 
window needs
   a version gate or a retained client-side fallback.
   
   Thanks for including that detail here. I think this would need a version 
gate, and it should be fairly simple. The client is already aware of the server 
version as it gets it on the first RPC / handshake so we can just do:
   
   ```
   if (server.version < NEW_FEATURE) {
     old behavior
   } else {
     new behavior
   }
   ```
   
   I haven't been involved in this and I haven't looked at the code here beyond 
the description, but I would tend to prefer a solution that doesn't have a 
client side cache, as caching always proves more tricky than it first seems!


-- 
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