wM Messaging triggers with Serial Processing in UM

Hi,

We are in the process of migrating from Broker to UM. We have multiple broker triggers (serial processing) with filter conditions subscribing to the same publishable document. We have used the utility to migrate from Broker 9.6 to UM 10.1.

In UM Enterprise Manager, we could see that attributes of the document has Type:Mixed and Engine: JMS Engine and the triggers have Persistent:true and Durable Type: Priority.

If we publish the documents, the triggers are showing the count increment in Outstanding Events even though they do not satisfy the filter condition. The Event Id does not change.

UM is new to us and we would like to know if there is setting for trigger/channel to not show the Outstanding Events incremented when the filter condition is not met. We are aware that if trigger processing mode is set to Concurrent then, the triggers have Persistent:true and Durable Type: Shared. Under this condition, Outstanding Events does not get incremented if the docs published do not meet the UM filter condition.

Can you please advise? Thank you!

Thanks,
Ramesh

Ramesh,
what you are seeing is expected behavior and is due to the difference in internal representation of concurrent (shared durable) and serial (priority durable) triggers.
With shared durables (concurrent trigger), messages are copied to an internal queue for each trigger and the filter is applied at publish-time. Hence you can see the number of outstanding messages matching the filter.
With priority durables (serial trigger), messages are held on the channel and the filter is applied at subscribe-time when the trigger requests the next message. Therefore UM doesn’t know in advance how many of those match each filter.

Hi Jonathan,

Thank you for your quick reply and providing the background concept. So, for the priority durable, UM increments the count of Outstanding Events and applies filter during subscription time. Since these messages are held on the Channel, Is there a way to release/delete those messages from the .mem file and make the Outstanding Events counts to zero?. So that, the disk space does not grown in size. I have tried perform maintenance but it does not show any affect on the Outstanding Events count or deletion of messages from the channel. Thank you in advance!

Ramesh,
If you want to release pending messages for a durable subscriber (DS), then you can delete the DS. If there are no other DSes for which the messages are pending, then they will be marked for deletion in the channel .mem file.
If you have a sparse filter (one that matches a small subset of messages on the channel), then recent non-matching messages will be released as soon as the next matching message is consumed.

Hi Jonathan,

Thank you for the reply. We could see that recent non-matching messages are released as soon as the next matching message is consumed.

Thanks,
Ramesh

Hello Jonathan,

For serial triggers(Priority Durables) in 9.12 version the, when i click on the doctype(Channel) and Namgd Object ->Get Names. It will always show as “N/A” so just wondering if we can understand how many messages are stuck for that particular trigger if the queue is stuck for some reason

Arun,
in 9.12, concurrent triggers use a hidden queue that is post-filter, so you can see exactly how many messages are pending. A serial trigger uses a pointer to the main channel and filtering is applied only at delivery time. Hence we don’t know in advance exactly how many messages will eventually reach that named object.
What you can do, however, is look at the event id of the channel (last message published) and the eventid of the named object (last message subscribed by the serial trigger). If there is a difference, then that can point to either messages being stuck, or to the intervening messages not matching the filter.
The internal implementation has changed after 9.12, so serial and concurrent triggers behave more consistently in later releases.

In which direction did the implementation change? Is now possible to see the number of pending messages for serial triggers as well? Or is it not possible anymore to see the number of pending messages for concurrent triggers?

Hi All,

How to achieve priority Durable type in Universal messaging with serial processing in webMethods . How to make priority for one Integration server

Priority Concept:

Two subscribers can hold a subscription to the same named object. One is given priority and will process events during normal operation. If, however, the subscriber with priority is disconnected for whatever reason, and is unable to process events, the second subscriber to that named object will take over and continue to process events as they come in. This allows failover, with backup subscribers handling events if the subscriber with priority goes down.

Thanks!

Regards,
Senthil

Hi All,

Is it possible to achieve priority Durable type with serial processing for JMS message in webMethods .
Have anyone tried Java client to achieve priority durable type for JMS message

Priority Concept:

Two subscribers can hold a subscription to the same named object. One is given priority and will process events during normal operation. If, however, the subscriber with priority is disconnected for whatever reason, and is unable to process events, the second subscriber to that named object will take over and continue to process events as they come in. This allows failover, with backup subscribers handling events if the subscriber with priority goes down.

Thanks!

Regards,
Senthil

Hi Senthil,

which version of Integration Server and Universal Messaging are you using? V 9.9 to V10.3 Fix 2 the behaviour you describe is the default behaviour for serial triggers which use the priority durable in Universal Messaging. V10.3 Fix 2 forward the serial trigger maps to the serial durable which provides better throughput. All the behaivours of the durables are described in the documentation https://techcommunity.softwareag.com/ecosystem/documentation/onlinehelp/Rohan/num10-4/10-4_UM_webhelp/index.html#page/um-webhelp%2Fco-types_of_durable_subscription.html%23. If you are using 10.3 I strongly recommend you apply the latest fix to use the serial durable.

Regards, Jane.

Hi Jane,

We need to achieve Priority durable type for JMS message (Either with inbuilt option or Java client)

Version:10.3

Regards,
Senthil

Hi Senthil,

Can you please give me your use case? IS changed the default durable used by a serial trigger so that an IS cluster can correctly consume events serially.

Thanks, Jane.