Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-919

Round-robin part thread activation doesn't work due to an unfair semaphore

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 7.5.0.Final
    • 7.3.0.Final
    • optaplanner-core
    • None
    • 2017 Week 45-46
    • NEW
    • NEW

    Description

      runnablePartThreadLimit is guaranteed by a semaphore with the same capacity. Part threads release and re-acquire the semaphore after each move. Due to the semaphore being initialized with non-fair setting, it is possible that active threads re-acquire the semaphore even if there are other threads already waiting for the permit. This leads to temporary part thread starvation.

      Attachments

        Issue Links

          Activity

            People

              jlocker Jiří Locker
              jlocker Jiří Locker
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: