This is an automated email from the ASF dual-hosted git repository.
andor pushed a commit to branch HBASE-29081
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/HBASE-29081 by this push:
new e0bbbc5965d HBASE-29961 Secondary cluster is unable to replayWAL for
meta (#7854)
e0bbbc5965d is described below
commit e0bbbc5965d2ec61469af1da52523b52b335e61c
Author: Anuj Sharma <[email protected]>
AuthorDate: Tue Mar 10 03:07:22 2026 +0530
HBASE-29961 Secondary cluster is unable to replayWAL for meta (#7854)
---
.../hadoop/hbase/security/access/RegionReadOnlyController.java | 4 +++-
.../hbase/security/access/TestReadOnlyControllerRegionObserver.java | 6 ++++++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/RegionReadOnlyController.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/RegionReadOnlyController.java
index ecd2dcedd64..411b4459f12 100644
---
a/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/RegionReadOnlyController.java
+++
b/hbase-server/src/main/java/org/apache/hadoop/hbase/security/access/RegionReadOnlyController.java
@@ -339,7 +339,9 @@ public class RegionReadOnlyController extends
AbstractReadOnlyController
@Override
public void preReplayWALs(ObserverContext<? extends
RegionCoprocessorEnvironment> ctx,
RegionInfo info, Path edits) throws IOException {
- internalReadOnlyGuard();
+ if (!isOnMeta(ctx)) {
+ internalReadOnlyGuard();
+ }
RegionObserver.super.preReplayWALs(ctx, info, edits);
}
diff --git
a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestReadOnlyControllerRegionObserver.java
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestReadOnlyControllerRegionObserver.java
index b2e53860124..d7176b90055 100644
---
a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestReadOnlyControllerRegionObserver.java
+++
b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestReadOnlyControllerRegionObserver.java
@@ -454,6 +454,12 @@ public class TestReadOnlyControllerRegionObserver {
regionReadOnlyController.preReplayWALs(ctx, info, edits);
}
+ @Test
+ public void testPreReplayWALsReadOnlyMetaNoException() throws IOException {
+ mockOperationForMetaTable();
+ regionReadOnlyController.preReplayWALs(ctx, info, edits);
+ }
+
@Test(expected = DoNotRetryIOException.class)
public void testPreBulkLoadHFileReadOnlyException() throws IOException {
regionReadOnlyController.preBulkLoadHFile(ctx, familyPaths);