Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-1071

Possible problem in concurrent signalling from multiple threads

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • None
    • jBPM 3.2.2
    • Runtime Engine
    • None

      Attached is a simple test case that
      1) Deploys process definition with two nodes
      2) Starts the process instance that will go to the wait state on first node
      3) Starts 20 threads that tries concurrently signal the same process instance
      4) The second node writes a record to the database

      The test case needs to be executed multiple times to see the incorrect behaviour.
      This is an example of run output
      Isol 8
      Action 1
      Action 2
      Action 2
      Action 2
      Action 2
      Action 2 1
      Action 2 1
      Action 2 1
      Action 2 1
      Signalist 5
      Signalist 6
      Signalist 8
      Signalist 12
      Signalist 7
      Signalist 13
      Signalist 14
      Signalist 15
      Signalist 9
      Signalist 16
      Signalist 17
      Signalist 18
      Signalist 4
      Success 7
      Failure 13

      Explanation of the outcome
      4 threads successfully executed the node action including database operation. All database opeartion were comitted (4 new records were created)
      3 threads successfully executed the signal operation but no real action was performed
      13 threads attempted to execute the signal operation but ended with an exception

        1. expl.tar.gz
          4 kB
        2. LockingTest.java
          6 kB
        3. log.txt
          66 kB

              Unassigned Unassigned
              jpechane Jiri Pechanec
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: