Release 8.1 Processes showing "Terminated" instead of "Completed"

We just upgraded to Release 8.1 this weekend.  All of the processes that were showing "Completed" are now showing as "Terminated" - The flow diagram shows successful completion, and examination of the records shows successful execution just as it did in Release 8.0 and prior releases.

I opened a case with support and I'm waiting for a response.  Has anyone else seen this behavior?  Is this a new "feature"?

  • After more investigation and no response from the Sugar folks, I've determined that all of the Processes that were concluded with a "Terminate" option are now being shown in a "Terminated" status in the log instead of a "Completed" status as seen in Release 8.0 and prior.  When the end-point of a process is changed to "Do Nothing" the process shows as "Completed" in the process log.

    It also looks like Inclusive Gateways have ceased to work, and the process only follows one path.  The disturbing part is that I have a number of processes that have an Inclusive Gateway, and the "main path" ends with a "Terminate" and the other paths are set as a "Do Nothing" since they are ancillary functions (for example, sending an email when an unrelated condition exists in the record - specifically, only send the email when a specific user did the update and a custom date field has a value).  In Release 8.0 and Prior, the branches of the process that were finished with a "Do Nothing" - nothing happened.  Duh!  And the process continued to run on the other branches until it was really completed.

    I'm trying to test the processes with multiple "stop points" to see if the entire process is marked "Completed" when one of the branches finishes.

    Bud Hartley | Cape Foulwind, NZ (and Oregon, USA)

  • The Response from Sugar Support:

    Thank you for contacting SugarCRM Support.

    I have done some testing in a stock 8.1.0 instance, and can confirm that now setting the End Event action to Terminate Process does set the status of the process to Terminated. This change does not appear in our 8.1.0 Release Notes or our "What to Expect When Upgrading to 8.1" document, unfortunately, but appears to be a deliberate design choice.

    I just love being the one to discover changes that weren't communicated :-)  I'm investigating what happens with multiple "end points" where one says "Do Nothing" (because the main process is still in process) and the "real" end-point has a "Terminate Process" ending.

    Bud Hartley | Cape Foulwind, NZ (and Oregon, USA)

  • Issue Resolved!  Sugar Support provided the following full explanation

    --------

    The functional purpose of an End Event is to set the status of the process to Completed if no other flows for the process are active, unless it is given other additional behavior through the Result menu.

    After reviewing the updated code for the Advanced Workflows, it appears that "Do Nothing" on an End Event will allow the End Event to end the current flow setting the status of the thread to Completed as long as no more than 1 current active thread is in process.

    If there is more than 1 active thread, such as may be the case of an Inclusive Gateway being part of the design, then only that thread will be closed out, allowing the other(s) to be processed until another End Event is reached, allowing the process to be marked as Completed.

    Send Message appears to have the same behavior, with the addition of sending a message.

    From what I can see, there was a defect preventing Terminate Process from working as intended in previous releases of Sugar. Now that it is working as intended, it will Terminate the process as soon as that End Event with Terminate Process set is reached, in so doing terminating all threads. So if there is, for example, an Inclusive Gateway, and an End Event with Terminate Process is reached, the entire process will be terminated regardless if there are still be paths to process.

    Although this behavior for Terminate Process is new to 8.1.0, our documentation for older, deprecated, versions of Sugar do describe the current behavior. This indicates that the current behavior was always the intended functionality, and the defect preventing it from working as documented was resolved in this release.

    In order for your processes to end successfully and display as Completed, you will need to set the End Events to Do Nothing (unless you want the processes to be forcibly terminated once one path has reached its conclusion, such as may be necessary with Divergent Parallel Gateways). 

    Further, you will want to make sure to set a Default Flow on your Inclusive Gateways to make sure that a path is reached no matter the criteria, or a process could be created that will be stuck In Process indefinitely due to being unable to resolve a path.

    ----

    Thanks to Kyle Lowry at Sugar Support for sorting it out - I didn't know the prior behavior was a defect!

    Bud Hartley | Cape Foulwind, NZ (and Oregon, USA)