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