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

Reply via email to