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 » WebSphere Message Broker (ACE) Support » MBFE FileOutput node fails on AIX on writing 26th record

Post new topic  Reply to topic Goto page 1, 2  Next
 MBFE FileOutput node fails on AIX on writing 26th record « View previous topic :: View next topic » 
Author Message
padleywoods
PostPosted: Thu Sep 23, 2010 1:05 am    Post subject: MBFE FileOutput node fails on AIX on writing 26th record Reply with quote

Novice

Joined: 12 Dec 2005
Posts: 12
Location: UK

We are running WMB v6.0.0.9, with MBFE FixPack 4. A flow has been written to take messages from a queue and write to a file. The flow logic is:

MQInput (trigger queue) --> FileProxy --> JCN --> MQGet --> Compute --> FileOutput

The MQInput queue is present to merely trigger the flow. THe JCN determines how many messages are on the designated input queue. The MQGet reads the next message from this queue. The Compute node controls the processing by propagating the message to the FileOutput node and then looping back to the MQGet node.

When this is unit-tested on a Windows development environment, we have no problems at all, regardless of the number & size of input messages

Now we've gone to the next level of testing on AIX, we encounter an error when trying to write the 26th record/message to the output file. The first 25 messages are processed OK; the 26th always causes a failure.

There is no error when writing files with less than 25 records. We have varied the length of the input messages from 5 bytes to 10K bytes - the error remains exactly the same.

A usertrace reveals no error. An MBFE trace reveals no error. We've chmod'ed the entire /var filesystem to allow total access (i.e. 777). And there is oodles of space available within the /var filesystem.

A PMR has been raised but I was wondering whether anyone has come across similar behaviour in their own testing and what the fix might have been!!

A thought is that MBFE temporarily writes the file a to a different filesystem than /var and it is accessing this that causes the error. Does anyone know whether this is the case?
Back to top
View user's profile Send private message
WMBDEV1
PostPosted: Thu Sep 23, 2010 2:11 am    Post subject: Re: MBFE FileOutput node fails on AIX on writing 26th record Reply with quote

Sentinel

Joined: 05 Mar 2009
Posts: 888
Location: UK

padleywoods wrote:
and then looping back to the MQGet node.


How did you achieve this loop? If its by wiring terminals then that might need a rethink.

Quote:
the 26th always causes a failure.


How does this failure manifest itself? EG restarts? msg backed out?

Are there any clues in the system / broker error logs (rather than the traces you took)
Back to top
View user's profile Send private message
elvis_gn
PostPosted: Thu Sep 23, 2010 3:03 am    Post subject: Reply with quote

Padawan

Joined: 08 Oct 2004
Posts: 1905
Location: Dubai

Hi padleywoods,

You did not mention what the error thrown in the flow is ? Neither did you mention that there is no error thrown...

Regards.
Back to top
View user's profile Send private message Send e-mail
padleywoods
PostPosted: Thu Sep 23, 2010 6:16 am    Post subject: Reply with quote

Novice

Joined: 12 Dec 2005
Posts: 12
Location: UK

The loop is achieved thru returning back to the MQGet node after propagating to the file output node; the return to the MQGet node is achieved through wiring. However, please bear in mind that this flow does not error when we run in Windows environment - only on AIX.

By manipulating the flow and trying to simulate by writing multiple messages to the file output node, similar behaviour occurs in that a scenario with e.g. 15 messages works fine but a scenario with 30 fails.

The broker logs appear to suggest that an unhandled exception occurred in the java code of the file output node and this causes the execution group to terminate and be restarted.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Sep 23, 2010 6:35 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

padleywoods wrote:
The broker logs appear to suggest that an unhandled exception occurred in the java code of the file output node and this causes the execution group to terminate and be restarted.


It's news to be that the File Output node has any Java code; all of WMB & it's nodes are written in C.

Is it possible that the JCN is abending immediately on return? Or that the broker environment (in which the File node runs) is corrupting the JVM? This kind of wired loop with an MQGet node is notorious for running execution groups out of memory, stack, etc.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mgk
PostPosted: Thu Sep 23, 2010 6:44 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Quote:
It's news to be that the File Output node has any Java code; all of WMB & it's nodes are written in C.


This is no longer the case. Several of the newer built-in nodes (including the File nodes) are written in Java. And the rest are C++
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Sep 23, 2010 6:45 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Vitor wrote:
[It's news to be that the File Output node has any Java code; all of WMB & it's nodes are written in C.




Broker is a mix of C++ and Java. Some of the built-in nodes are written entirely in Java, some are written as compiled subflows, some are written in C++.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Sep 23, 2010 6:47 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mgk wrote:
Quote:
It's news to me that the File Output node has any Java code; all of WMB & it's nodes are written in C.


This is no longer the case. Several of the newer built-in nodes (including the File nodes) are written in Java. And the rest are C++


Good Morning - Here Is The News!

So this Java stuff is leaking into WMB? Urgh.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Sep 23, 2010 6:52 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Vitor wrote:
mgk wrote:
Quote:
It's news to me that the File Output node has any Java code; all of WMB & it's nodes are written in C.


This is no longer the case. Several of the newer built-in nodes (including the File nodes) are written in Java. And the rest are C++


Good Morning - Here Is The News!

So this Java stuff is leaking into WMB? Urgh.


Java is a fine and decent language when written by well trained and experienced programmers.

I do not, mind you, make that same claim about Java EE.
Back to top
View user's profile Send private message
mgk
PostPosted: Thu Sep 23, 2010 6:53 am    Post subject: Reply with quote

Padawan

Joined: 31 Jul 2003
Posts: 1642

Quote:
So this Java stuff is leaking into WMB?


FYI, Every Execution Group has always had a JVM inside it right from the beginning when WMB was called MQSI way back in version 2.0. All that has changed is that the broker is using it more and for more things...
_________________
MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Sep 23, 2010 6:55 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mgk wrote:
Quote:
So this Java stuff is leaking into WMB?


FYI, Every Execution Group has always had a JVM inside it right from the beginning when WMB was called MQSI way back in version 2.0. All that has changed is that the broker is using it more and for more things...


It's my day for learning things.

I have this sudden urge to take a really hot shower.....
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Thu Sep 23, 2010 6:57 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Vitor wrote:
mgk wrote:
Quote:
So this Java stuff is leaking into WMB?


FYI, Every Execution Group has always had a JVM inside it right from the beginning when WMB was called MQSI way back in version 2.0. All that has changed is that the broker is using it more and for more things...


It's my day for learning things.


Me too. I didn't think there was a JVM in the mix until they introduced the JCN in v5 or so.

ETA... maybe I'm now remembering a bit of being able to write Java plugins in 2.1... hrm.... yes... okay.
Back to top
View user's profile Send private message
smdavies99
PostPosted: Thu Sep 23, 2010 7:45 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

From the OP, this is not about the Broker File Output stuff.
It is about the MBFE nodes that predate the Broker File nodes and was brought in from Impremeur (or an Italian company of a name much like that).

I used then extensively on a project in London that started on V5 and during development went to V6 (or broker) and raised a number of PMR;s on them
which led to quite an improvement in their operation.

Anyway, they do use Java under the hood. For this reason we had to configure the five parallel output streams (additional instances would not cut it) in a partucular way to stop JVM problems.
Perhaps the reason is that the JVM heap is getting exhausted.

Also, I find this particular design one that I wouldn't adopt at all.
As we all know loops through nodes in Broker is not a recommneded practice unless you are very, very careful and I certainly would not use them using the MBFE nodes.
As they are single ended nodes, instead of doing a propagate then it might be better to use a flow order node with the MBFE one on the 1st leg.

The other way, is to split the operation into two parts with an intermediate queue. You can loop round getting the message, doing the processing and posting the ready for output date onto a queue. Then the second flow reads each message as a single unit of work, writes it and then it's job is done.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu Sep 23, 2010 8:41 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

smdavies99 wrote:
From the OP, this is not about the Broker File Output stuff.
It is about the MBFE nodes that predate the Broker File nodes and was brought in from Impremeur (or an Italian company of a name much like that).


Ah!

smdavies99 wrote:
Also, I find this particular design one that I wouldn't adopt at all.
As we all know loops through nodes in Broker is not a recommneded practice unless you are very, very careful



_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Sep 23, 2010 1:31 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

mqjeff wrote:
Java is a fine and decent language when written by well trained and experienced programmers.

I do not, mind you, make that same claim about Java EE


I would be so bold as to extend the claim to Java EE but with the same caveat.
You have to have well trained and experienced programmers to write that code otherwise we will all dine on pasta...(spaghetti code).

And remember that a decent J2EE programmer is way harder to find than a decent Java programmer...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » MBFE FileOutput node fails on AIX on writing 26th record
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.