Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4788

Improve Thrift Transport pool

Log workAgile BoardRank to TopRank to BottomBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskLinkCloneLabels
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 1.9.0
    • None

    Description

      Accumulo has a pool of recently opened connections to tablet servers.  When connecting to tablet servers, this pool is checked first. The pool is built around a map of list.  There are two problems with this pool :

      • It has global lock around the map of list
      • When trying to find a connection it does a linear search for a non reserved connection (this is per tablet server)

      Could possibly move to a model of having a list of unreserved connections and a set of reserved connections per tablet server. Then to get a connection, could remove from the unreserved list and add to the reserved set.  This would be a constant time operation.

      For the locking, could move to a model of using a concurrent map and locking per tserver instead of locking the entire map.

       

      Attachments

        Issue Links

        Activity

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

          People

            kturner Keith Turner Assign to me
            kturner Keith Turner
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0h
              0h
              Logged:
              Time Spent - 0.5h
              0.5h

              Slack

                Issue deployment