Thanks Wei-Chiu, I'm ok with handling these in follow up tasks. Please share the Jira links when you have them. This was my main concern, so the merge is +1 from me now.
Ethan On Tue, Jul 30, 2024 at 5:34 PM Wei-Chiu Chuang <weic...@apache.org> wrote: > I had an offline discussion with Ethan regarding a couple of potential > issues: > > 1. > > *New Client with ozone.fs.hsync.enabled*: If a new client with > ozone.fs.hsync.enabled sends an hsync request to an old OM, the request > is sent as a KeyCommit request with additional fields for hsync. The old > OM, not recognizing these fields, would treat the request as a normal > KeyCommit (i.e., closing the key). The outcome of this is uncertain. > 2. > > *Downgrade Scenario*: If a cluster is upgraded from Ozone 1.4 to 1.5 and > the feature flag is enabled, Ozone would allow hsync operations before > the > upgrade is finalized. This is problematic because version 1.4 does not > fully support this feature. > > Both issues can be addressed with new layout versions. I will open JIRA > tickets to include these fixes in the next release, version 1.5.0. > > I hope this explanation makes sense. > > On Tue, Jul 30, 2024 at 10:20 AM Ethan Rose <er...@apache.org> wrote: > > > Hi Wei-Chiu, I'm still unclear on the compatibility requirements of this > > feature. > > > > Feature flags are not a substitute for layout versions. Layout versions > are > > monotonic: they make sure once something is enabled it cannot be disabled > > via a downgrade (the downgraded cluster will fail to start). Feature > flags > > are not monotonic. If an old version defaults to false and a new version > > defaults to true, the flag will get reverted on downgrade while data > > written while it was true will still be present. Whether or not this > causes > > problems is dependent on the implementation of the feature. > > > > Can you clarify what disk and protocol changes are part of this feature > on > > OM and Datanodes? Then we can work out what is actually required for > > compatibility. > > > > On Tue, Jul 30, 2024 at 11:43 AM Wei-Chiu Chuang <weic...@apache.org> > > wrote: > > > > > hi Ethan, > > > > > > The OM layout version change was for rejecting hsync requests to OM > until > > > the upgrade completes. > > > The "HSYC" layout version was shipped in Ozone 1.4.0. > > > IIRC I did touch upon this in the release vote thread, that because > > there's > > > a feature flag ozone.fs.hsync.enabled which disables the feature > > entirely, > > > the HSYNC layout version is essentially a no-op. We enabled the feature > > > flag in the feature branch. If this is a concern we can make it > disabled > > by > > > default again. > > > > > > On Mon, Jul 29, 2024 at 1:05 AM Ashish kumar <ashis.kr.2...@gmail.com> > > > wrote: > > > > > > > Thanks Ethan for looking into this. > > > > > > > > >>It looks like this line in the merge checklist was not updated. > > > > Updated the checklist. > > > > > > > > >> Can you go > > > > into more details about the OM compatibility for lease recovery or > > other > > > > operations? > > > > Lease recovery is completely redesigned and so both client and server > > > needs > > > > to be upgraded to make it work correctly. > > > > In the old design, lease recovery was dependent only on the client > and > > > OM, > > > > but now it involves datanode as well. > > > > Apart from this compatibility is related to "Incremental chunk list" > > > which > > > > is already taken care of. > > > > > > > > >> DataNode layout version "HBASE_SUPPORT" > > > > Yes this is only related to incremental chunk list. We will update > > with a > > > > more meaningful name as HBASE_INCREMENTAL_CHUNK_SUPPORT. > > > > Also will update the merge checklist in more detail about this. > > > > > > > > Thanks, > > > > Ashish > > > > > > > > On Fri, Jul 26, 2024 at 12:50 AM Ethan Rose <er...@apache.org> > wrote: > > > > > > > > > Thanks for all the work on this. Looks good overall, just a few > > > > > questions on compatibility: > > > > > > > > > > It looks like this line in the merge checklist was not updated. Can > > you > > > > go > > > > > into more details about the OM compatibility for lease recovery or > > > other > > > > > operations? > > > > > > > > > > > A new OM version number was introduced to prevent new client > > sending > > > > > > atomic key overwrite request to old OM which does not support > this > > > > > feature. > > > > > > > > > > > > > > > Additionally, new DataNode layout version "HBASE_SUPPORT" was > added. > > > > > > > > > > Can you add some details about what changes on the disk layout > after > > > this > > > > > feature is finalized? Is this related to the incremental chunk list > > or > > > > > something more? Perhaps a more descriptive layout feature name > would > > > help > > > > > here as well. > > > > > > > > > > Ethan > > > > > > > > > > On Wed, Jul 24, 2024 at 11:43 PM Wei-Chiu Chuang < > weic...@apache.org > > > > > > > > wrote: > > > > > > > > > > > I am +1 (binding) > > > > > > On Tue, Jul 23, 2024 at 4:05 AM Ashish kumar < > > > ashis.kr.2...@gmail.com> > > > > > > wrote: > > > > > > > > > > > > > Hi Ozone developers, > > > > > > > > > > > > > > I would like to propose merging HDDS-7593 (HSync and lease > > > recovery) > > > > > > > feature branch into master. > > > > > > > > > > > > > > This feature is to support HSync and lease recovery, > > > > > > > which enables HBase to run on Ozone. > > > > > > > More details about the feature are present in design documents > > > > attached > > > > > > > in the below mentioned Ozone confluence page link. > > > > > > > > > > > > > > > > > > > > > Checklist for feature branch merge: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/OZONE/Supporting+HSync+and+lease+recovery+-+HDDS-7593 > > > > > > > > > > > > > > Feature Jira Link: > > > > > > > https://issues.apache.org/jira/browse/HDDS-7593 > > > > > > > > > > > > > > This vote will be open for at least a week. > > > > > > > > > > > > > > Thanks, > > > > > > > Ashish Kumar > > > > > > > > > > > > > > > > > > > > > > > > > > > >