Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-3553

Zookeeper connection should be closed immediately after DefaultStatisticsCollector's collecting stats done

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.9.0
    • 4.10.0
    • None

    Description

      In every minor compaction job of HBase,
      org.apache.phoenix.schema.stats.DefaultStatisticsCollector.initGuidePostDepth() is called,

      and SYSTEM.CATALOG table is open to get guidepost width via

      htable = env.getTable(

      SchemaUtil.getPhysicalTableName(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES, env.getConfiguration()));
      This function call creates one zookeeper connection to get cluster id.

      DefaultStatisticsCollector doesn't close this zookeeper connection immediately after get guidepost width, and the zookeeper connection remains alive until HRegion is closed.

      This is not a problem with small number of Regions, but when number of Region is large and upsert operation is frequent, the number of zookeeper connection gradually increases to hundreds, and the zookeeper server nodes experience short of available TCP/IP ports.

      This zookeeper connection should be closed immediately after get guidepost width.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            nilkis Yeonseop Kim
            nilkis Yeonseop Kim
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment