Re-Deploy/Upgrade of a Global Signal Definition Run-time Application

There are a number of issues you should be aware of when re-deploying/upgrading a Global Signal Definition Run-time Application.

Throw / catch events in existing deployed processes will use the latest minor version of the major version that they were originally defined with (for example, a process defined using GlobalSignal 1.0.0, will use GlobalSignal 1.1.0 but not GlobalSignal 2.0).
  • A catch signal defined against v1.0.0 will see the signal thrown by an event defined against v1.1.0.
  • A catch signal defined and against v1.0.0 will not see the signal thrown by an event defined against v2.0 of the global signal definition.
The upgrade changes permitted to a global signal definition's payload are restricted to the following:
  • Add new optional payload parameter.
  • Remove existing optional payload parameter.
  • Change a payload parameter (that is, a non-correlation payload parameter) from mandatory to optional. Note, however, if this is done, all processes that catch the global signal must be rebuilt and redeployed, otherwise an exception is thrown at runtime if the parameter value is missing.
Note:
  • New global signal definitions can be added but existing signal definitions cannot be removed.
  • Upgrade to the new major version is possible only as a separate deployment.
Any other changes than those stated above would cause failure of existing deployed throw/catch events.
  • Any attempt to upgrade a global signal definition project with the same major version that breaks this rule will result in a failure to deploy.
  • You will see an error during deployment (something like Global signal upgrade validation error: %error details%) with the details about the first incompatible change encountered while performing validation.

Therefore, because all correlation parameters must be configured as mandatory it means that once the signal has been deployed for the first time, the Signal correlation parameters are set in stone and cannot be changed unless the major version is changed.