Question
Society Generale
IN
Last activity: 11 Mar 2018 15:19 EDT
Issue with JMS listener : More than consumer in point to point
We have observed an issue with the way of consuming the JMS message. We have a JMS listener with Point to Point Model which would create a work object for each message received. Its working fine in most of the cases. But only few messages are getting picked up by multiple nodes. When we looked at the Pega/Alert log ,there was no error.But looks like JMS at first node is not being processed successfully and hence message is being persisted at queue and later picked by another node.
Can someone suggest if this is the expected behavior of JMS queue when there are errors?
***Edited by moderator Maryrita, moved to Product Support from Pega Academy***
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
JPMorgan Chase & Company
US
Hi Rekha,
If message is no processed due to some issue, then message will be in queue next requestor will process the message. This is an expected behaviour.
If you are observing two work objects are creating for one message then there is an issue. I hope in your case only one work object is created.
Society Generale
IN
Yes..There are 2 work objects getting created. What should be the possible solution?
Society Generale
IN
Can someone suggest the possible fix?
We are using svcAddWorkObject to create new work items. Though the error occurred while processing JMS , work items are getting created.Hence there are duplicate work objects for the same message
JPMorgan Chase & Company
US
Hi,
Please share the configuration screenshots and log files from both the nodes for analysis, and have observed what type of error occurred at first time due to this message in queue ?
Society Generale
IN
I couldn't find any error in alert or Pega log. I have already attached the log to the first post. I will try to get configuration screenshots.
Society Generale
IN
JPMorgan Chase & Company
US
Hi Rekha,
As the logs doesn't have enough information for troubleshoot, please enable debug level on below class.
com.pega.pegarules.integration.engine.internal.services.jms.JMSListener
Once the issue observed please share log files and configuration screenshots.
EvonSys
IN
Hi Rekha
Expected cause :
As you have multi node environment lets say Node A, Node, B, Node C, Now when you receive a message then
Either of the Node will try to pick, Lets say Node A has picked it, Mean while Other two nodes(i.e Node B, Node C) also try to get that message, but as the Lock is acquired by Node A other two node will throw exceptions.
Soln 1 :- To overcome this issue, maintain a Flag when you get message and before processing it check the flag first, Now if any Node is processing it other node will not try to pick it up as the Flag is not marked to pick it up.
Soln 2 :- Apply Load Balancing on your Servers. Please refer
@https://docs-previous.pega.com/performance/load-balancing-multi-node-cluster
Hope this will help you.