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 » [solved]transactionality of FileOutput mqsitransit directory

Post new topic  Reply to topic
 [solved]transactionality of FileOutput mqsitransit directory « View previous topic :: View next topic » 
Author Message
j.f.sorge
PostPosted: Tue Oct 29, 2013 2:59 am    Post subject: [solved]transactionality of FileOutput mqsitransit directory Reply with quote

Master

Joined: 27 Feb 2008
Posts: 218

I'm using a ComputeNode which will do some mapping, sending the mapped data to a FileOutput node configured to "stage within mqsitransit and move on Finish File". When the complete execution groups abends the temporary file will stay within the mqsitransit directory. After flow restarts the processing, the temporary file won't be deleted. New records will be appended to that temporary file.

Is there any chance to let the temp file being deleted on abend?

If that could not be done, I'll have to map into a row and sent out that data at once which will cause a very big message in memory to be created.
Could that have performance issues in combination with the FileOutput node?
_________________
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


Last edited by j.f.sorge on Tue Oct 29, 2013 4:26 am; edited 1 time in total
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Oct 29, 2013 3:57 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Well, you couldn't have it be deleted on *abend*, because I mean... it's an abnormal end...

The question is, are you able to tell at restart that you need to finish the file?

The second question is, why are you *planning* for an abend... You should be planning for normal error conditions, and planning to make manual efforts to resolve extraordinary error conditions. And an abend should always be treated as an extraordinary error condition...

If you are somehow stuck in a situation where you the process that feeds into the FileOutput is broken because of a product defect,, such that it throws an abend, and you can't avoid it until you get a product fix or are able to upgrade...

then I'd look to mediate the situation by isolating the FileOutput process into a separate flow kicked off by MQ. Then you can move this to another EG or another Broker and get isolated from the abend conditions.

It will also force you to think about the state of the file - in terms of whether you need to put row markers or something into the messages on the queue. Which will allow you to better know when you need to finish the file.
Back to top
View user's profile Send private message
j.f.sorge
PostPosted: Tue Oct 29, 2013 4:24 am    Post subject: Reply with quote

Master

Joined: 27 Feb 2008
Posts: 218

mqjeff wrote:
Well, you couldn't have it be deleted on *abend*, because I mean... it's an abnormal end...

The question is, are you able to tell at restart that you need to finish the file?

The second question is, why are you *planning* for an abend... You should be planning for normal error conditions, and planning to make manual efforts to resolve extraordinary error conditions. And an abend should always be treated as an extraordinary error condition...

If you are somehow stuck in a situation where you the process that feeds into the FileOutput is broken because of a product defect,, such that it throws an abend, and you can't avoid it until you get a product fix or are able to upgrade...

then I'd look to mediate the situation by isolating the FileOutput process into a separate flow kicked off by MQ. Then you can move this to another EG or another Broker and get isolated from the abend conditions.

It will also force you to think about the state of the file - in terms of whether you need to put row markers or something into the messages on the queue. Which will allow you to better know when you need to finish the file.

Thanks a lot for your help! I will re-write the flow in order to create the output file in a single burst.
_________________
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
View user's profile Send private message
mqjeff
PostPosted: Tue Oct 29, 2013 5:28 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

j.f.sorge wrote:
mqjeff wrote:
Well, you couldn't have it be deleted on *abend*, because I mean... it's an abnormal end...

The question is, are you able to tell at restart that you need to finish the file?

The second question is, why are you *planning* for an abend... You should be planning for normal error conditions, and planning to make manual efforts to resolve extraordinary error conditions. And an abend should always be treated as an extraordinary error condition...

If you are somehow stuck in a situation where you the process that feeds into the FileOutput is broken because of a product defect,, such that it throws an abend, and you can't avoid it until you get a product fix or are able to upgrade...

then I'd look to mediate the situation by isolating the FileOutput process into a separate flow kicked off by MQ. Then you can move this to another EG or another Broker and get isolated from the abend conditions.

It will also force you to think about the state of the file - in terms of whether you need to put row markers or something into the messages on the queue. Which will allow you to better know when you need to finish the file.

Thanks a lot for your help! I will re-write the flow in order to create the output file in a single burst.


Ok.

That's not remotely what I suggested, but it's what you said was your other choice.
Back to top
View user's profile Send private message
Esa
PostPosted: Tue Oct 29, 2013 5:29 am    Post subject: Re: [solved]transactionality of FileOutput mqsitransit direc Reply with quote

Grand Master

Joined: 22 May 2008
Posts: 1387
Location: Finland

j.f.sorge wrote:

If that could not be done, I'll have to map into a row and sent out that data at once which will cause a very big message in memory to be created.


j.f.sorge wrote:

Thanks a lot for your help! I will re-write the flow in order to create the output file in a single burst.


That solution will inevitably cause a very big message to be handled in the flow(s)...

If you are running the flow with no additional instances, you could use a shared ESQL variable that - when uninitialized - would tell your flow to read away all files from mqsitransit before starting to process any messages/files.

You can argue it that would be planning for an unexpected abend. I would rather say that it's more like programmatically patching the File Nodes' limited support for transactions.

One way to avoid abends is to run the flow in a dedicated execution group. That would prevent abends caused by other flows in the same EG from disturbing your process. If it's not your file flow itself that causes the abends.
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 » WebSphere Message Broker (ACE) Support » [solved]transactionality of FileOutput mqsitransit directory
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.