Uploaded image for project: 'infrautils'
  1. infrautils
  2. INFRAUTILS-23

Remove Executors.newSingleThreadExecutor() and replace users with SpecialExecutors.newBoundedSingleThreadExecutor()

XMLWordPrintable

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: High High
    • None
    • None
    • utils, incl. inject
    • None

      motivated by GENIUS-97 :

      https://lists.opendaylight.org/pipermail/infrautils-dev/2017-November/000487.html

      Now that https://git.opendaylight.org/gerrit/#/c/63805/ has gone in, let us after all use org.opendaylight.yangtools.util.concurrent.SpecialExecutors's newBoundedSingleThreadExecutor everywhere in genius / netvirt / SFC instead of org.opendaylight.infrautils.utils.concurrent.Executors.newSingleThreadExecutor() introduced in https://git.opendaylight.org/gerrit/#/c/55251/.

      Then remove the newSingleThreadExecutor method, but keep the Executors class around and write JavaDoc to point surprised existing users to SpecialExecutors with an explanation copy/pasted from my infrautils-dev list thread why it's very important to use maximumQueueSize.

      Wondering what a sensible maximumQueueSize e.g. for async DTCL is... thoughts, anyone?

      PS: In an ideal world I would have wanted to move SpecialExecutors from yangtools to infrautils, but that won't be possible due to rovarga refusal to let yangtools depend on infrautils. tpantelis is happy to contribute SpecialExecutors to infrautils, but I think a fork is a shame to be avoid, if at all possible. Only if anywhere in infrautils we needed to use a newBoundedSingleThreadExecutor then this would be justified.

            Unassigned Unassigned
            vorburger Michael Vorburger
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: