ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » Strange message vanishing

Post new topic  Reply to topic
 Strange message vanishing « View previous topic :: View next topic » 
Author Message
guezeg
PostPosted: Tue Jan 03, 2006 2:28 am    Post subject: Strange message vanishing Reply with quote

Newbie

Joined: 31 Aug 2005
Posts: 2

Hello everyone,

my environnement :
- WMQI 2.1 CSD03
- WMQSeries 5.2.1 CSD04

I lose messages when the execution reaches a compute node supposed to insert theses messages and execute a procedure.

The problem is that the procedure should return a error message and the trycatch node should catch it, but it does not behave this way.


Here is my compute node ESQL script :

Quote:

SET OutputRoot = InputRoot;
-- Entrez le code SQL sous cette ligne. Le SQL au-dessus de cette ligne pourrait être régénéré, ce qui entraînerait la perte des modifications.

----------------------------
-- Declaration de variables
----------------------------

DECLARE extrait BLOB;
DECLARE chaine CHARACTER;
DECLARE nPosition1 INTEGER;
DECLARE nPosition2 INTEGER;
DECLARE nPosition3 INTEGER;
DECLARE sContent CHARACTER;
DECLARE nIdMessage INTEGER;

---------------------------------------
-- Transformation du message en string
---------------------------------------

SET extrait = BITSTREAM(InputBody);
SET chaine = CAST( extrait AS CHARACTER CCSID InputRoot.MQMD.CodedCharSetId);
SET nPosition1 = POSITION('<Content>' IN chaine);
SET nPosition2 = POSITION('</Content>' IN chaine);
SET nPosition3 = nPosition2 - 9 - nPosition1;
SET sContent = SUBSTRING (chaine FROM nPosition1+9 FOR nPosition3);

SET OutputRoot.XML.Siprog.MsgEntry.Header.IdMessage[] = PASSTHRU ('SELECT COUNT(*) AS RESULT FROM ALL_TAB_PRIVS WHERE TABLE_NAME = ''EAI_BUFFER_F_CONT_ORDERID'' and PRIVILEGE=''SELECT''');
SET nIdMessage = CAST(OutputRoot.XML.Siprog.MsgEntry.Header.IdMessage.RESULT AS DECIMAL);
IF nIdMessage = 0 THEN
THROW USER EXCEPTION SEVERITY 3 MESSAGE 02289 VALUES('ORA-02289: la séquence EAI_BUFFER_F_CONT_ORDERID n''existe pas ou les droits donnés au user EAI ne sont pas corrects');
END IF;
SET OutputRoot.XML.Siprog.MsgEntry.Header.IdMessage = NULL;
SET OutputRoot.XML.Siprog.MsgEntry.Header.IdMessage[] = PASSTHRU ('SELECT EAI_BUFFER_F_CONT_ORDERID.NEXTVAL from dual');
SET nIdMessage = CAST(OutputRoot.XML.Siprog.MsgEntry.Header.IdMessage.NEXTVAL AS DECIMAL);

PASSTHRU ('INSERT INTO EAI_TABLE_BUFFER_F_CONT(ORDERID, BUFFERXML) values(?, ?)', nIdMessage, sContent);

PASSTHRU('{call EAI_ORACLE_CreationCdeMarche(?)}', nIdMessage);

PASSTHRU('DELETE FROM EAI_TABLE_BUFFER_F_CONT');



And here is the trace generate with this message.

Quote:

2005-12-02 16:44:45.878612 3342 UserTrace BIP2544I: Node 'FL_F_CONT_Root.Sub_FL_F_CONT_3.C_PS_EAI_Oracle': Executing database SQL statement 'INSERT INTO EAI_TABLE_BUFFER_F_CONT(ORDERID, BUFFERXML) values(?, ?)' derived from (46, 1); expressions 'nIdMessage, sContent'; resulting parameter values '970, '<Entete><Id_Commande>038201200-9</Id_Commande><DateNotification> .... </Description></Entete>''.
2005-12-02 16:44:45.881904 3342 UserTrace BIP2537I: Node 'FL_F_CONT_Root.Sub_FL_F_CONT_3.C_PS_EAI_Oracle': Executing statement 'PASSTHRU(nIdMessage)' at (52, 1).
2005-12-02 16:44:45.881969 3342 UserTrace BIP2538I: Node 'FL_F_CONT_Root.Sub_FL_F_CONT_3.C_PS_EAI_Oracle': Evaluating expression 'nIdMessage' at (52, 52).
2005-12-02 16:44:45.882034 3342 UserTrace BIP2544I: Node 'FL_F_CONT_Root.Sub_FL_F_CONT_3.C_PS_EAI_Oracle': Executing database SQL statement '{call EAI_ORACLE_CreationCdeMarche(?)}' derived from (52, 1); expressions 'nIdMessage'; resulting parameter values '970'.
2005-12-02 16:45:05.017708 3856 UserTrace BIP7082I: Node '': Publishing to destination QM_CFG_MGR:SYSTEM.BROKER.ADMIN.REPLY:4366674d677253756233 for user admin.
A publication destination is being added to the list of destinations to QM_CFG_MGR:SYSTEM.BROKER.ADMIN.REPLY:4366674d677253756233 for user admin.
No user action required.

Threads encountered in this trace:
3342 3856


Then a file core is generated and the message vanishes.

Somes other messages work in that flow without any crash. If I execute the procedure manually, it returns the expected normal message. We thouht there might be a problem with the broker, so we rebuilt it, but the behaviour has not changed.

An other interesting fact is that an other environnement lets the flow run correctly : an exception is raised an caught. These environnements are supposed to be copies of each other.

Would anyone have an explaination of this issue ?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Tue Jan 03, 2006 4:17 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

It has nothing to do with your problem (likely), but you should definitely upgrade the MQ to version 5.3, at least. WMQI 2.1 does work with MQ 5.3 - and should work with the latest CSD/FixPack level of 5.3.

You should also upgrade your MQSI to at least FixPack 5.

And I don't see why you're using PASSTHRU for the INSERT or DELETE.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » Strange message vanishing
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.