guihecheng commented on pull request #2083:
URL: https://github.com/apache/ozone/pull/2083#issuecomment-824489205


   > @guihecheng / @fapifta There are 3 status requests that we are trying to 
support here.
   > 
   > * Client who started finalization asks for status and messages
   > * Client who did not start finalization asks for status & messages with 
takeover = true
   > * Client just wants to know the general finalization status, irrespective 
of whether a finalization was started / completed or in progress.
   > 
   > I believe a single proto request with multiple arguments (or better a 
'FinalizeUpgradeProgressRequestArgs' parameter in the proto request) is 
sufficient to handle the above cases. The UpgradeFinalizer interface can have a 
new getStatus API that just returns the status of finalization, along with the 
layout version (MLV, SLV). Based on the args passed in, the request handler can 
call the correct API of the finalizer.
   > 
   > Maybe something like this?
   > 
   > > message FinalizeUpgradeProgressRequestArgs {
   > > optional string upgradeClientId = 1;
   > > optional bool takeover = 2;
   > > optional bool readOnly = 3;
   > > }
   
   So, there is an agreement that we shall not have new proto request & 
response pairs.
   Instead, we add a flag into the existing request and change the "required" 
`upgradeClientId` to "optional".
   And we shall put a new API "getStatus" only in the UpgradeFinalizer, with 
SLV & MLV (may be in a new class like StatusAndLayoutVersions).
   Got it, thanks @avijayanhwx @fapifta 


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

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