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

OrderedMemoryAwareThreadPoolExecutor needs to safely remove from childExecutors Map


    • 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:


      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




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


                • Created: