[
https://issues.apache.org/jira/browse/HBASE-29715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18038441#comment-18038441
]
Kevin Geiszler edited comment on HBASE-29715 at 11/14/25 7:13 PM:
------------------------------------------------------------------
The solution for this issue is similar to what was done in [PR
#7304|https://github.com/apache/hbase/pull/7304] for HBASE-29579. We just need
to broaden the logic for what foreign tables get skipped during the
{{TABLE_TO_REGIONS_COUNT}} case in HMaster.
was (Author: JIRAUSER302671):
The solution for this issue is similar to what was done in [PR
#7304|[https://github.com/apache/hbase/pull/7304]] for HBASE-29579. We just
need to broaden the logic for what foreign tables get skipped during the
{{TABLE_TO_REGIONS_COUNT}} case in HMaster.
> AssignmentManager is trying to pick up the other cluster's tables before
> refreshing meta and hfiles
> ---------------------------------------------------------------------------------------------------
>
> Key: HBASE-29715
> URL: https://issues.apache.org/jira/browse/HBASE-29715
> Project: HBase
> Issue Type: Sub-task
> Components: read replicas
> Reporter: Kevin Geiszler
> Assignee: Kevin Geiszler
> Priority: Major
>
> This is similar to HBASE-29579. The following will appear in the replica
> cluster's log when it is started after creating a table on the active cluster:
>
>
> {code:java}
> 2025-11-14T03:22:08,098 ERROR [master/hbase-docker-2:16000.Chore.1]
> master.TableStateManager: Unable to get table testTable1 state
> org.apache.hadoop.hbase.TableNotFoundException: No state found for testTable1
> at
> org.apache.hadoop.hbase.master.TableStateManager.getTableState(TableStateManager.java:141)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.master.TableStateManager.isTableState(TableStateManager.java:79)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.master.assignment.AssignmentManager.isTableDisabled(AssignmentManager.java:549)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.master.assignment.AssignmentManager.getRegionStatesCount(AssignmentManager.java:2637)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.master.HMaster.getClusterMetricsWithoutCoprocessor(HMaster.java:3130)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.master.HMaster.getClusterMetricsWithoutCoprocessor(HMaster.java:3017)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.master.balancer.ClusterStatusChore.chore(ClusterStatusChore.java:47)
> ~[hbase-server-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at org.apache.hadoop.hbase.ScheduledChore.run(ScheduledChore.java:161)
> ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> org.apache.hadoop.hbase.trace.TraceUtil.lambda$tracedRunnable$2(TraceUtil.java:155)
> ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
> ~[?:?]
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[?:?]
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
> ~[?:?]
> at
> org.apache.hadoop.hbase.JitterScheduledThreadPoolExecutorImpl$JitteredRunnableScheduledFuture.run(JitterScheduledThreadPoolExecutorImpl.java:107)
> ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
> ~[?:?]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
> ~[?:?]
> at java.lang.Thread.run(Thread.java:840) ~[?:?] {code}
> The hbase-docker setup for read-replica can be used to reproduce this issue.
> The steps to reproduce are as follows:
> # Start the active cluster. Do not start the replica cluster
> # Create one or more tables on the active cluster.
> # Start the replica cluster
> # Eventually, you will see the {{TableNotFoundException}} for the new
> table(s) in the log
--
This message was sent by Atlassian Jira
(v8.20.10#820010)