Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-15832

memory leak in FSHLog.

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 1.1.2
    • None
    • None
    • None

    Description

      FSHLog module uses a map to reuse SyncFuture objects, and assumes that this map will be used by RPC Handler threads only. but, in some cases, this assumption is wrong.
      for example, if some coprocessors are registered, and these coprocessors uses CoprocessorHConnection insteadof HConnection, and request some puts/ or deletes throgh CoprocessorHConnection, all mutations will be handled by hconnection's batchPool, not RPC Handlers. because hconnection's batchPool is dynamically growing or shrinking, all new threads in hconnection are put to the map in FSHLog, and this map will grow continuously.

      in attached image file, the map to reuse SyncFuture occupies about 4GB memory and has (almost all) entries holding hconnection's thread.

      Attachments

        Issue Links

        Activity

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

          People

            Unassigned Unassigned
            Jeongdae Kim Jeongdae Kim
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment