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

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

XMLWordPrintable

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

      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.

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

              Created:
              Updated:
              Resolved: