Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-26149 Further improvements on ConnectionRegistry implementations
  3. HBASE-26181

Region server and master could use itself as ConnectionRegistry

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-2
    • master, regionserver
    • None
    • Reviewed

    Description

      As they already cached everything for connection registry in memory, the cluster connection can fetch the in memory data directly instead of go to zookeeper again.

      This is an optimization to reduce the pressure on zookeeper.

      For MasterRegistry, we do not want to use it as the ConnectionRegistry for our cluster connection because:

          // We use ZKConnectionRegistry for all the internal communication, primarily for these reasons:

          // - Decouples RS and master life cycles. RegionServers can continue be up independent of

          //   masters' availability.

          // - Configuration management for region servers (cluster internal) is much simpler when adding

          //   new masters or removing existing masters, since only clients' config needs to be updated.

          // - We need to retain ZKConnectionRegistry for replication use anyway, so we just extend it for

          //   other internal connections too.

      The above comments are in our code, in the HRegionServer.cleanupConfiguration method.

      But since now, masters and regionservers both implement the ClientMetaService interface, we are free to just let the ConnectionRegistry to make use of these in memory information directly, instead of going to zookeeper again.

      Attachments

        Issue Links

          Activity

            People

              zhangduo Duo Zhang
              zhangduo Duo Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: