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

   Thanks for the doc updates @Cyrill. The proposal looks good, there is just 
one thing I thought of with regards to upgrades that I forgot to mention 
earlier. We will also need an OM layout feature for this change 
(`org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature`). This covers server side 
upgrade/downgrade compatibility. It is separate from the client/server 
versioning used to support client cross compatibility.
   
   In Ozone, we support downgrading before finalizing an upgrade, just like 
HDFS. When you downgrade, all data written in the new version should be 
readable by the old version. If we allow compressed data to be written when the 
OM is pre-finalized and a user downgrades, the metadata in the proto saying the 
data is compressed will not be read by the downgraded OM, which does not have 
compression support. This means the data will not be readable on downgrade.
   
   Supporting this is pretty easy since we've had features like this before. We 
just have to add a `org.apache.hadoop.ozone.om.upgrade.OMLayoutFeature` for 
compression, and a pre-processor annotation to block write requests that use 
compression until the feature is finalized. For an example, see 
`OMLayoutFeature.ERASURE_CODED_STORAGE_SUPPORT`, and its use in 
`OMKeyCreateRequest.disallowCreateKeyWithECReplicationConfig`.
   
   I did a talk at ApacheCon on upgrades and compatbility in Ozone that I would 
link here for reference, but we are still working on posting them somewhere. 
The slides are available 
[here](https://www.apachecon.com/acna2022/slides/01_Rose_Inside_Ozone_Upgrade.pdf)
 if that would help. Of course ask me any questions you may have about upgrades 
as well.


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