errose28 commented on PR #7957:
URL: https://github.com/apache/ozone/pull/7957#issuecomment-2701764640

   I can see use cases for both online and offline compaction. An online tool 
may be easier to use and would not have the problem of missed compactions for 
snapdiff. However, it could not be used on RocksDB instances for other services 
without implementing custom commands for each one. Particularly datanode and 
Recon DBs would be difficult to access in this way. I suggest the following:
   - We have different Jiras/PRs for OM online (`ozone repair om compact`) and 
generic offline (`ozone repair ldb compact`)
   - Offline compaction can work as initially proposed in this change, with a 
disclaimer in the help message about OM snapshots.
   - Online compaction needs some more design discussion on how to implement 
the protocol:
     - Should we use Ratis to get the request to all 3 OMs, should the client 
send the request to all 3 automatically, or should the user have to specify the 
hosts manually?
     - The requirements for this command and other online repair commands are 
similar to those used for dynamic reconfiguration, see 
[ReconfigureProtocolClientSideTranslatorPB](https://github.com/apache/ozone/blob/194077acbb9672ca05662fca84123938cae17851/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/protocolPB/ReconfigureProtocolClientSideTranslatorPB.java#L63).
       - Can we unify this into one interface for giving online commands that 
are outside of Ratis and the main data path?
       - Existing 
[protos](https://github.com/apache/ozone/blob/3d648466ed53e784b0fd34399cadaaf53894f10b/hadoop-hdds/interface-client/src/main/proto/ReconfigureProtocol.proto)
 would need to stay the same unless we want to break this in 2.0 (which might 
be an option), but we might be able to do this with just client/server side 
code changes and leaving the reconfig protos as they are.


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