Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-2845

Update executor for timer in TP

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.4, 5.3.14
    • None
    • None
    • False
    • None
    • False

      After commit `13a9f176198d6cfc580f412ebd90c2a3af8886c7`, updating the Executor with `TP#setThreadPool(Executor)` does not update the executor utilized by the timer instance.

      Recurring tasks stop being executed since the previous executor is shut down and has not been updated with the new instance. For example, NAKACK2 and UNICAST3 stop running after setting the new executor for TP.

      We should revert the lines in the `TP#setThreadPool(Executor)` method to be same as before:

          public <T extends TP> T setThreadPool(Executor thread_pool) {
              if(this.thread_pool != null)
                  this.thread_pool.destroy();
              this.thread_pool.setThreadPool(thread_pool);
      +        if(timer instanceof TimeScheduler3)
      +            ((TimeScheduler3)timer).setThreadPool(thread_pool);
              return (T)this;
          }
      

              rhn-engineering-bban Bela Ban
              rh-ee-jbolina Jose Bolina
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: