You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Duo Zhang (Jira)" <ji...@apache.org> on 2024/05/06 08:12:00 UTC

[jira] [Resolved] (HBASE-28567) Race condition causes MetaRegionLocationCache to never set watcher to populate meta location

     [ https://issues.apache.org/jira/browse/HBASE-28567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Duo Zhang resolved HBASE-28567.
-------------------------------
    Fix Version/s: 2.4.18
                   2.7.0
                   3.0.0-beta-2
                   2.6.1
                   2.5.9
     Hadoop Flags: Reviewed
       Resolution: Fixed

Pushed to all active branches.

Thanks [~vincentpoon] for contributing and [~vjasani] for reviewing!

> Race condition causes MetaRegionLocationCache to never set watcher to populate meta location
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-28567
>                 URL: https://issues.apache.org/jira/browse/HBASE-28567
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 2.5.8
>            Reporter: Vincent Poon
>            Assignee: Vincent Poon
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.4.18, 2.7.0, 3.0.0-beta-2, 2.6.1, 2.5.9
>
>
> {{ZKWatcher#getMetaReplicaNodesAndWatchChildren()}} attempts to set a a watch on the base /hbase znode children using {{ZKUtil.listChildrenAndWatchForNewChildren()}}, but if the node does not exist, no watch gets set.
> We've seen this in the test container Trino uses over at [trino/21569|https://github.com/trinodb/trino/pull/21569] , where ZK, master, and RS are all run in the same container.
> The fix is to throw if the node does not exist so that {{MetaRegionLocationCache}} can retry until the node gets created.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)