Serial Processing in Clustering

hello,

We have 2 Integration server’s in cluster. We are running on 9.12 IS and 9.12 UM.

Trigger Properties is set to Serial and 1 thread at a time.

Trigger is reading message from Queue , since IS servers are in cluster only one message should be processed at a time which is my understanding. This is not working as expected some times IS will process only one message at a time and some times both the server will process messages at the same time.

Is anyone aware of the issue?

regards,

Hi Faye,

this is correct behaviour.

Serial Processing only makes sure that the messages are picked up in the correct order.
But it cannot be controlled which IS will pick up the messages.

So it might happen that both ISes are processing messages at the same time when the first message has been acknowledged by the first IS and the second IS picks up the next message before the first one has completed processing the first message.

Regards,
Holger

Hello,

Thank you for that answer.

Is there not a way or a parameter setting that would handle messages in FIFO mode.

If the IS is clustered it can process the messages as a result, or a parameter that if one IS connects to the queue the other can not connect anymore.

My problem is that I want one of the IS finished processing before the other can retrieve another message.

Thank you for your reply.
cordially.

Hi Faye,

please have a look at the following article:
http://techcommunity.softwareag.com/pwiki/-/wiki/Main/setting+correct+trigger+parameters

This has an overview how to configure triggers for different scenarios.

Setting the trigger to serial (1 thread is default and not changeable) is the correct setting for clusters.

The main goal you are looking for is to delay the acknowledgement of the documents until IS has finished the processing for the document.

One option might be to do a publishAndWait in the service invoked by the trigger to another service and the publish a response back after processing is finished. When the first service receives the response and completes its execution the document will be acked to UM marking the next one as available for retrieval.

Maybe other members have other ideas.

Regards,
Holger

The following thread might be helpful too:

Regards,
Holger

Faye,

You may be experiencing a bug. Serial processing like you described should be possible in 9.12. Earlier versions of UM did not support serial processing in a cluster but it is my understanding that this support exists in 9.12.

For example, take a look at the Publish and Subscribe guide for 9.7:
http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-7/Integration_Server/9-7_Publish_Subscribe_Developers_Guide.pdf

There’s a section about serial processing in clusters in which the guide specifically states: “Note: Universal Messaging does not support ordered processing for serial triggers when working with a cluster or a non-clustered group of Integration Servers.”

However, the same guide in 9.12 does not contain such note: http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuites/wmsuite9-12/Integration_Server/9-12_Publish_Subscribe_Developers_Guide.pdf

Percio

hello;

Thank you for these returns
Is that we can do publishAndWait with the JMS file
I do not see how.
Do you have any examples?

thk,
Best regards,

I would refrain from using publishAndWait to achieve the goal of serial processing. It’s a decent work-around but not what it was intended for and it can easily fall apart if you introduce additional publishers or subscribers.

Worse comes to worst, you can suspend retrieval of, or simply disable, the trigger in one of your clustered servers. However, this basic functionality should exist in 9.12 so please check the latest fixes and if there’s no mention of this issue on the latest fixes, submit a ticket to Software AG support.

Percio