Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-8616

Distributed workmanager does not execute work on other nodes than where the work was scheduled

    XMLWordPrintable

Details

    • Hide

      I'll attach a quick and dirty reproducer script. It downloads a fork of WFLY that contains a WIP DwmTest and runs it. If the test passes, go into testsuite/integration/basic/target/surefire-reports and have a look at the test logs. The statistics of where the work was scheduled and executed are logged there. If the test fails, rerun it - there are some Infinispan exceptions that I need to investigate.

      I'll also attach an ear containing the resource adapter that makes use of the dwm (the ear has been exported from DwmTest). To set up EAP properly for use with the dwmtest.ear, use:

      batch
      /subsystem=jca/distributed-workmanager=newdwm:add(name=newdwm)
      /subsystem=jca/distributed-workmanager=newdwm/short-running-threads=newdwm:add(queue-length=10,max-threads=10)
      /subsystem=jca/bootstrap-context=customContext1:add(name=customContext1,workmanager=newdwm)
      run-batch
      reload
      
      Show
      I'll attach a quick and dirty reproducer script. It downloads a fork of WFLY that contains a WIP DwmTest and runs it. If the test passes, go into testsuite/integration/basic/target/surefire-reports and have a look at the test logs. The statistics of where the work was scheduled and executed are logged there. If the test fails, rerun it - there are some Infinispan exceptions that I need to investigate. I'll also attach an ear containing the resource adapter that makes use of the dwm (the ear has been exported from DwmTest). To set up EAP properly for use with the dwmtest.ear , use: batch /subsystem=jca/distributed-workmanager=newdwm:add(name=newdwm) /subsystem=jca/distributed-workmanager=newdwm/ short -running-threads=newdwm:add(queue-length=10,max-threads=10) /subsystem=jca/bootstrap-context=customContext1:add(name=customContext1,workmanager=newdwm) run-batch reload

    Description

      Scenario: we have two EAP servers, both of them have a distributed workmanager set up. We try to schedule some work on one of the servers (via scheduleWork() and since we have a policy of ALWAYS, the work should be executed on a node different from the one where it was scheduled. However, it is always executed on the same node.

      This might be related to or even caused by JBEAP-9418.

      I think this is severe enough to warrant a beta blocker label - the DWM can be configured and you can pass work instances to it, but they will never be executed on remote nodes. In effect, policy options other than NEVER do not work. I'm raising the priority to blocker accordingly.

      This also blocks EAP7-495.

      Attachments

        Issue Links

          Activity

            Public project attachment banner

              context keys: [headless, issue, helper, isAsynchronousRequest, project, action, user]
              current Project key: WFLY

              People

                smaestri@redhat.com Stefano Maestri
                smaestri@redhat.com Stefano Maestri
                Richard Janik Richard Janik
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: