Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-2892

Calling subsequent message catch events fails

    • Icon: Bug Report Bug Report
    • Resolution: Unresolved
    • Icon: L2 - Critical L2 - Critical
    • None
    • 7.1.0
    • None
    • None

      Sending messages to two subsequent message catch events (see situation in attachment) does not work.

      In my implementation, I query the waiting execution in the upper hand process using the process instance id and the message name and then call org.camunda.bpm.engine.RuntimeService.messageEventReceived(String, String)

      I the situation of the second throw event, the query does not find a waiting execution.

        This is the controller panel for Smart Panels app

            [CAM-2892] Calling subsequent message catch events fails

            Hi Philipp,

            Thanks for your Bugreport.

            Are you able to provide a failing testcase which reproduces the error?

            Cheers
            Robert

            Robert Gimbel added a comment - Hi Philipp, Thanks for your Bugreport. Are you able to provide a failing testcase which reproduces the error? Cheers Robert

            Hi Robert,

            you will find a test-project with an Arquillian test here: http://goo.gl/YJH21n
            The link will expire soon, please attach the file to this task as I have no rights to do so.

            Cheers,
            Philipp

            Philipp Leusmann added a comment - Hi Robert, you will find a test-project with an Arquillian test here: http://goo.gl/YJH21n The link will expire soon, please attach the file to this task as I have no rights to do so. Cheers, Philipp

            great thanks for that

            Robert Gimbel added a comment - great thanks for that

            we also fixed the user rights, so that you now should be able to attach and link yourself, sorry for that

            Robert Gimbel added a comment - we also fixed the user rights, so that you now should be able to attach and link yourself, sorry for that

            Daniel Meyer added a comment - - edited

            Hi Phillip,

            Are both throwing message evnts executed in the same transaction? In that case the message subscription for the second event "Proben erhalten" is not yet flushed to the database and the database query cannot find it.

            This is not easily fixable. If we want to fix it, we need to check the session cache for message subscriptions which also match the query.

            It should work if you place a transaction boundary (for example asynchronous continuation) in the "lower" process between the first and second throwing message event.

            Regards,
            Daniel

            Daniel Meyer added a comment - - edited Hi Phillip, Are both throwing message evnts executed in the same transaction? In that case the message subscription for the second event "Proben erhalten" is not yet flushed to the database and the database query cannot find it. This is not easily fixable. If we want to fix it, we need to check the session cache for message subscriptions which also match the query. It should work if you place a transaction boundary (for example asynchronous continuation) in the "lower" process between the first and second throwing message event. Regards, Daniel

            Hi Daniel,

            yes, all is running from within the same thread and I understand the cause and implications for this.
            In my production code, the manual tasks were dummies anyway, so I can come out of this situation easily.

            I thought I should file this as a bug, since it is a valid model which the engine fails to work with.
            Should I really add workarounds to my model to keep the engine happy?

            Cheers,
            Philipp

            Philipp Leusmann added a comment - Hi Daniel, yes, all is running from within the same thread and I understand the cause and implications for this. In my production code, the manual tasks were dummies anyway, so I can come out of this situation easily. I thought I should file this as a bug, since it is a valid model which the engine fails to work with. Should I really add workarounds to my model to keep the engine happy? Cheers, Philipp

            An updated, simpler screenshot taken from the test

            Philipp Leusmann added a comment - An updated, simpler screenshot taken from the test

            Daniel Meyer added a comment -

            Hi Philipp,

            of course it is a bug and thank you for reporting it. Users reporting bugs helps us improve our software.

            I proposed the solution with the transaction boundary for you as a workaround until the bug is fixed.

            Daniel

            Daniel Meyer added a comment - Hi Philipp, of course it is a bug and thank you for reporting it. Users reporting bugs helps us improve our software. I proposed the solution with the transaction boundary for you as a workaround until the bug is fixed. Daniel

            This ticket was migrated to github: https://github.com/camunda/camunda-bpm-platform/issues/2144. Please use this link for any future references and continue any discussion there.

            Thorben Lindhauer added a comment - This ticket was migrated to github: https://github.com/camunda/camunda-bpm-platform/issues/2144 . Please use this link for any future references and continue any discussion there.

              Unassigned Unassigned
              pleusmann Philipp Leusmann
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: