[ 
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:12 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 
[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)

Reply via email to