Hi,
We are using pub.publish:publishandwait and pub.publish:waitforreply and enable this with webMethods messaging trigger in a clustered server environment.
It is working fine in environment with single node server but in clustered environment one of the server nodes is creating hanging threads on waitforreply event and because of that it is failing subsequent service calls.
If i try to run in individual nodes in the cluster in some nodes it is getting successful
some nodes are creating that hanging thread.
please find the attached document for thread which is hanging and causing the failure.
is there something i am missing here?
additionally remember to set the receiving trigger to “serial processing” with 1 thread, otherwise you will have multiple threads receiving your documents.
you can try it with “delay until service success”.
Alternatively this can be handled on the trigger side with the “duplicate detection” using Document History feature in the ISInternal database component.
What I meant to say is to ensure we don’t endup publishing duplicates or processing duplicates. As Holger mentioned you can set trigger properties to take care of this if a relevant DB component is installed i.e IS Core Audit is installed in the database.
Please go through the Exactly Once Processing section in webMethods Pub Sub Guide.
After taking care of all possible best practices, if your issue encounter still then we can dig deeper.
I have changed the processing mode of all triggers to be serial.But, still i am getting hanging threads and service is getting failed. could you please clarify if the below design has any issue?
Package structure with pub/sub Implementation:
package 1: puplish service p1-1,p1-2,p1-3,p1-4
call another service in package 2:
Publish service p2-1,p2-2,p2-3
receive reply from serv p2-1,p2-2,p2-3
return to package 1:
receive reply from serv p1-1,p1-2,p1-3,p1-4