Thank you, Duo. For future reference the JIRA for restoring the hooks is https://issues.apache.org/jira/browse/HBASE-29647 and I have opened https://issues.apache.org/jira/browse/HBASE-29649 for the branch-2 un-deprecation.
Istvan On Wed, Oct 8, 2025 at 2:47 PM 张铎(Duo Zhang) <[email protected]> wrote: > Yes, it is marked as deprecated in RegionCoprocessorHost. > > Looking at the deprecation javadoc, it says > > * @deprecated Since hbase-2.0.0. No replacement. To be removed in > hbase-3.0.0 and replaced with > * something that doesn't expose IntefaceAudience.Private > classes. > > WALKey and WALEdit are both marked as IA.LimitedPrivate(REPLICATION, > CP), so in general we do not expose any IA.Private classes. > > Checking the history, we used to think that WALEdit should not be > exposed to CP users as it is a class, not an interface. And in > HBASE-28731, we finally decided to keep it as is. > There is also a discussion thread about this > https://lists.apache.org/thread/b7zfyqmxo9lrt2rpo0lc0m6vsomn217w > > So I'm +1 on adding them back, and also we should remove the > deprecated annotation for branch-2.x. > > Thanks. > > Istvan Toth <[email protected]> 于2025年10月8日周三 16:50写道: > > > > Sorry for talking to myself... > > > > They were marked deprecated in RegionCoprocessrHost, but not in > > RegionObserver. > > This was inconsistent, as they should have been marked deprecated on the > > user-facing RegionObserver interface at the same time. > > > > The end result is still that methods were removed from the RegionObserver > > interface without going through a proper deprecation cycle, so I still > > think > > that we need to restore them to comply with our deprecation policy. > > > > I have also checked the preWalRestore use case in the existing Phoenix > > index code. > > It does not use WALKey , and uses WALEdit.getCells() to iterate over the > > cells in the edit. > > For its purposes a callback that provides the getCells() array would be > > sufficient. > > > > I don't know how the upcoming HA consistent failover feature is going to > > use them, but I will ask. > > > > best regards > > Istvan > > > > > > > > > > > > On Wed, Oct 8, 2025 at 10:25 AM Istvan Toth <[email protected]> wrote: > > > > > Sorry, I accidentally sent the email before I finished it. > > > > > > On further investigation, the removal seems to be a mistake. > > > > > > These hooks are NOT marked deprecated in branch-2 > > > > > > > https://github.com/apache/hbase/blob/439bcfa090b235c4c99bd648261dd1dc8b31bdd6/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java#L1410 > > > , and they were NOT marked deprecated on branch-3/master before their > > > removal either > > > > > > > https://github.com/apache/hbase/blob/d2b0074f7ad4c43d31a1a511a0d74feda72451d1/hbase-server/src/main/java/org/apache/hadoop/hbase/coprocessor/RegionObserver.java#L1410 > > > > > > So they not go through the deprecation cycle before removal. > > > > > > I'm going to open a ticket + PR to restore them. > > > > > > Was there a particular reason for their removal, or was this a simple > > > mistake ? > > > > > > Istvan > > > > > > On Wed, Oct 8, 2025 at 10:03 AM Istvan Toth <[email protected]> wrote: > > > > > >> Hi! > > >> > > >> I'm working on adding HBase 3 support for Phoenix. > > >> > > >> RegionObserver#preWalRestore has been removed in HBASE-28480 > > >> <https://issues.apache.org/jira/browse/HBASE-28480> > > >> > > >> This feature is use by the Phoenix indexing code, and is also needed > by > > >> the in development Phoenix High Availability Consistent failover > feature > > >> PHOENIX-7562 <https://issues.apache.org/jira/browse/PHOENIX-7562> . > > >> > > >> Phoenix does have a replacement for the old indexing code, so breaking > > >> that is not necessarily a critical issue, however the upcoming > Phoenix HA > > >> Rearchitecture for Consistent Failover feature also depends on the > > >> existence of this hook. > > >> > > >> >
