Author |
Message
|
Cogito-Ergo-Sum |
Posted: Tue Dec 06, 2011 4:18 am Post subject: Parallel execution delivers emails unpredictably. |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
We have a message flow with a MQInput node (MI01) pointing to a certain message queue. This node is connected to a Database node that retrieves the list of email IDs using contents of the incoming message. We expect the number of incoming messages to increase and so we want to increase the throughput. As described here, the broker will start separate transactions for every input node. So, I added more MQInput nodes (MI02 and MI03) pointing to same message queue and wired to the same Database node as MI01.
I stopped the message flow in the execution group and populated the message queue with three messages that should result in an email to me. Then, started the message flow. However, only one email comes to me. I have checked in logs, set up trace, etc. but to no avail.
What am I missing ?
This is WMB 6.1 on z/OS; the management is expected to make a New Year's (2012) resolution to upgrade to 7.0. _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
mqsiuser |
Posted: Tue Dec 06, 2011 4:34 am Post subject: |
|
|
 Yatiri
Joined: 15 Apr 2008 Posts: 637 Location: Germany
|
|
Back to top |
|
 |
lancelotlinc |
Posted: Tue Dec 06, 2011 5:38 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
Better option is not to use email node at all. Just put your xmit code in a JCN and refer to standard sendmail Java jars that have been around forever.
While your at it, throw in a Singleton. _________________ http://leanpub.com/IIB_Tips_and_Tricks
Save $20: Coupon Code: MQSERIES_READER |
|
Back to top |
|
 |
Vitor |
Posted: Tue Dec 06, 2011 5:51 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
lancelotlinc wrote: |
Better option is not to use email node at all. Just put your xmit code in a JCN and refer to standard sendmail Java jars that have been around forever. |
This assumes:
a) There's Java knowledge available
b) Java is allowed on the z/OS
I'd say the better option is to accelerate the upgrade to v7, ditch the plugin and use the EmailOutput node that comes with the base product. Once that's not helped and there's been no resolution to the PMR raised as a result of it not helping, then consider rolling your own JCN.
lancelotlinc wrote: |
While your at it, throw in a Singleton. |
For some purpose? Or because no JCN is properly dressed without one? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Cogito-Ergo-Sum |
Posted: Tue Dec 06, 2011 6:39 am Post subject: |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
We are using the EMailOutput node where the SMTP server, To, Cc and Bcc addresses are set in a JCN. The JCN is wired to the EMailOutput node.
There is one other thing I noticed. For wonders' sake, I typed gibberish for email ID in the table from where the To address will be sourced. This causes a Java exception with the exception pointing to the propagate method in Java. This exception is for invalid e-mail address. Why was the exception not raised in the EMailOutput node ? _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
Cogito-Ergo-Sum |
Posted: Tue Dec 06, 2011 9:52 am Post subject: |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
I dropped the idea of multiple MQInput nodes and increased the number of additional instances of the .cmf file. This seems to deliver the emails reliably. _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
Vitor |
Posted: Tue Dec 06, 2011 9:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Cogito-Ergo-Sum wrote: |
I dropped the idea of multiple MQInput nodes and increased the number of additional instances of the .cmf file. This seems to deliver the emails reliably. |
It's also a more convienient way of scaling. You just redeploy the bar rather than editing the flow. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
j.f.sorge |
Posted: Tue Dec 06, 2011 9:49 pm Post subject: |
|
|
Master
Joined: 27 Feb 2008 Posts: 218
|
Cogito-Ergo-Sum wrote: |
We are using the EMailOutput node where the SMTP server, To, Cc and Bcc addresses are set in a JCN. The JCN is wired to the EMailOutput node.
There is one other thing I noticed. For wonders' sake, I typed gibberish for email ID in the table from where the To address will be sourced. This causes a Java exception with the exception pointing to the propagate method in Java. This exception is for invalid e-mail address. Why was the exception not raised in the EMailOutput node ? |
It depends where you propagate the message in the JCN: if there is a try-catch block which catches (Mb)Exception each error in any node after the JCN seems to occur within the JCN. If you propagate the message within a try-finally block which only propagates the message everything should be fine. _________________ IBM Certified Solution Designer - WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
Cogito-Ergo-Sum |
Posted: Tue Dec 06, 2011 10:14 pm Post subject: |
|
|
 Master
Joined: 07 Feb 2006 Posts: 293 Location: Bengaluru, India
|
Quote: |
if there is a try-catch block which catches (Mb)Exception each error in any node after the JCN seems to occur within the JCN. |
Yes, I think, that is what is happening here. Thanks ! _________________ ALL opinions are welcome.
-----------------------------
Debugging tip:When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.
---Sherlock Holmes |
|
Back to top |
|
 |
|