Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-5472

Setting a short poll period, and having repositories that take a long time to check for changes, might cause other repositories never to be scheduled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 4.2.0
    • 3.0.0
    • None
    • None

    Description

      Due to a greedy repository scheduling algorithm we use when scheduling repository scanning, if the requested poll period is short (e.g. default = 60 seconds) and checking for changes takes a time that's longer than the poll period (slurp), a new request IncrementalPingRequest will be scheduled as soon as the previous one is done.

      This combined with RepositoryHandle#processPingRequests not releasing the executor until all ping requests are processed, will cause the repository never to release the executor, and prevent other repositories from being updated.

      Workaround

      • Increase the poll period of affected repositories, e.g. from the default 60 seconds to 5 minutes.
      • Increase the number of incremental indexing threads (if your system has enough resources to do so).

      Attachments

        Issue Links

          Activity

            People

              czawadka@atlassian.com Cezary Zawadka
              lpater Lukasz Pater
              Votes:
              3 Vote for this issue
              Watchers:
              13 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: