Uploaded image for project: 'Netty'
  1. Netty
  2. NETTY-343

OrderedMemoryAwareThreadPoolExecutor needs to safely remove from childExecutors Map

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.1.0.GA, 3.1.1.GA, 3.1.2.GA, 3.1.3.GA, 3.1.4.GA, 3.1.5.GA, 3.2.0.ALPHA1, 3.2.0.ALPHA2, 3.2.0.ALPHA3, 3.2.0.ALPHA4, 3.2.0.BETA1, 3.2.0.CR1, 3.2.0.Final, 3.2.1.Final
    • Fix Version/s: None
    • Component/s: Handler
    • Estimated Difficulty:
      Medium

      Description

      #
      May 19 13:00:00 <trustin> wonderwal: I thought you can extend OMATPE to implement per-user ordering?
      #
      May 19 13:01:27 <wonderwal> trustin: you can, but remember we discussed you need a lock on submission and removal if you want to remove from the map only if the tasks queue is empty, otherwise order can be broken. this lock might slow down OMATPE, so i suggested make a new class for users to extend with the lock, and keep OMATPE only ordering by Channel.

      #
      May 19 13:09:44 <trustin> wonderwal: IIRC I gave you some pointers to acquire locks
      #
      May 19 13:11:02 <trustin> wonderwal: removeChildExecutor() and doExecute()
      #
      May 19 13:11:36 <trustin> wonderwal: these two methods much be guarded by the same lock and removeChildExecutor() should be modified as you suggested (remove only when the queue is empty)

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                trustin Trustin Lee
                Reporter:
                wonderwal Alan Wolff
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated: