| Author | 
		  Message
		 | 
		
		  | prat31 | 
		  
		    
			  
				 Posted: Sat Mar 16, 2013 12:10 am    Post subject: Transaction property in Compute Node. | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 01 Feb 2013 Posts: 30
  
  | 
		  
		    
			  
				Hi,
 
 
I wanted to know about the Transaction property in Compute node in detail.
 
About the options Commit and Automatic init.
 
 
Thanks. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | adubya | 
		  
		    
			  
				 Posted: Sat Mar 16, 2013 1:18 am    Post subject: Re: Transaction property in Compute Node. | 
				     | 
			   
			 
		   | 
		
		
		   Partisan
 
 Joined: 25 Aug 2011 Posts: 377 Location: GU12, UK 
  | 
		  
		    
			  
				
   
	| prat31 wrote: | 
   
  
	Hi,
 
 
I wanted to know about the Transaction property in Compute node in detail.
 
About the options Commit and Automatic init.
 
 
Thanks. | 
   
 
 
 
The Infocenter describes the property, perhaps if you play back your understanding of the Commit/Automatic values to us then we can fill in the gaps. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | prat31 | 
		  
		    
			  
				 Posted: Sat Mar 16, 2013 3:32 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 01 Feb 2013 Posts: 30
  
  | 
		  
		    
			  
				According to my understanding if it is in Automatic, then the DB queries in that node will be commited once the messages comes out of the node. And if it is in Commit, then the queries in compute node will be commited at the same time when it is executed.
 
 
Request you to acknowledge my understanding and add if somthing is missing/incorrect. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Sat Mar 16, 2013 3:57 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				
   
	| prat31 wrote: | 
   
  
	According to my understanding if it is in Automatic, then the DB queries in that node will be commited once the messages comes out of the node. And if it is in Commit, then the queries in compute node will be commited at the same time when it is executed.
 
 
Request you to acknowledge my understanding and add if somthing is missing/incorrect. | 
   
 
 
Wrong. Automatic does not translate to autocommit. Automatic means that the operation will be committed when the flow instance ends.
 
 
Have fun   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | adubya | 
		  
		    
			  
				 Posted: Sat Mar 16, 2013 7:05 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Partisan
 
 Joined: 25 Aug 2011 Posts: 377 Location: GU12, UK 
  | 
		  
		    
			  
				The Infocenter is pretty clear
 
 
   
	| Quote: | 
   
  
	Select the Transaction setting from the list. The values are: 
 
Automatic (the default). The message flow, of which the Compute node is a part, is committed if it is successful. That is, the actions that you define in the ESQL module are performed on the message and it continues through the message flow. If the message flow fails, it is rolled back. If you choose Automatic, the ability to commit or roll back the action of the Compute node on the database depends on the success or failure of the entire message flow. 
 
Commit. To commit the action of the Compute node on the database, irrespective of the success or failure of the message flow as a whole, select Commit. The database update is committed even if the message flow itself fails.  | 
   
 
 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | zpat | 
		  
		    
			  
				 Posted: Sun Mar 17, 2013 5:37 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 19 May 2001 Posts: 5867 Location: UK 
  | 
		  
		    
			  
				| Don't forget the transaction starts at the MQinput node. Using the correct option there is critical. Note especially that non-persistent messages may not start a transaction depending how you set this node's properties. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | yellowbee | 
		  
		    
			  
				 Posted: Mon Mar 18, 2013 9:35 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Acolyte
 
 Joined: 14 Apr 2012 Posts: 58
  
  | 
		  
		    
			  
				Using Transactionality property we can commit or Rollback the updates whatever made in the node as part of the message flow
 
 
Commit :- If we select Commit,Whatever ever updates are made in the node are committed irrespective of the success or failure of the message flow as a whole
 
 
Automatic :- If the message flow completes success,the updates are committed. If the message flow fails, the message and the Database updates are Rolled back | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Mon Mar 18, 2013 9:57 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				
   
	| yellowbee wrote: | 
   
  
	| Automatic :- If the message flow completes success,the updates are committed. If the message flow fails, the message and the Database updates are Rolled back | 
   
 
 
 
 
Wire up a flow as follows: 
 
   
	| Code: | 
   
  
	MQinput->FlowOrder->(first)->MQOutput
 
                  ->(second)->MQOutput->Throw | 
   
 
 
 
Set transaction mode on MQInput to "none". | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | yellowbee | 
		  
		    
			  
				 Posted: Tue Mar 19, 2013 9:50 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Acolyte
 
 Joined: 14 Apr 2012 Posts: 58
  
  | 
		  
		    
			  
				Hi mqjeff
 
I have also raised the same question before.But i did not get the answer yet.
 
 
http://www.mqseries.net/phpBB2/viewtopic.php?p=347789&highlight=#347789
 
 
could you answer for the above | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | mqjeff | 
		  
		    
			  
				 Posted: Tue Mar 19, 2013 10:08 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Grand Master
 
 Joined: 25 Jun 2008 Posts: 17447
  
  | 
		  
		    
			  
				
   
	| yellowbee wrote: | 
   
  
	Hi mqjeff
 
I have also raised the same question before.But i did not get the answer yet.
 
 
http://www.mqseries.net/phpBB2/viewtopic.php?p=347789&highlight=#347789
 
 
could you answer for the above | 
   
 
 
 
I answered that question before.
 
 
I suggested, in this thread, a very simple experiment.  
 
 
I suggested this experiment as a rebuttal to your assertion that "Automatic" means that a transaction is created.  
 
 
Review the documentation again.  
 
 
Run the very simple experiment I mentioned.
 
 
Observe the results.
 
 
Consider the results.
 
 
Make changes to the very simple experiment.
 
 
Observe and consider the new results.
 
 
Read the documentation again. 
 
 
Think about what you've seen and read. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | yellowbee | 
		  
		    
			  
				 Posted: Thu Mar 21, 2013 12:17 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Acolyte
 
 Joined: 14 Apr 2012 Posts: 58
  
  | 
		  
		    
			  
				hi Mqjeff
 
 
I tryed that in both cases the message not getting rolledback.after the mqoutput node of second leg because of throw node..it throwng exception like this
 
if i select transactionality as no 
 
File:CHARACTER:F:\build\S700_P\src\DataFlowEngine\ImbDataFlowNode.cpp
 
			Line:INTEGER:1073
 
			Function:CHARACTER:ImbDataFlowNode::createExceptionList
 
			Type:CHARACTER:ComIbmMQInputNode
 
			Name:CHARACTER:Transaction#FCMComposite_1_1
 
			Label:CHARACTER:Transaction.MQ Input
 
			Catalog:CHARACTER:BIPmsgs
 
			Severity:INTEGER:3
 
			Number:INTEGER:2230
 
			Text:CHARACTER:Node throwing exception
 
			UserException
 
					File:CHARACTER:F:\build\S700_P\src\DataFlowEngine\BasicNodes\ImbThrowNode.cpp
 
					Line:INTEGER:265
 
					Function:CHARACTER:ImbThrowNode::evaluate
 
					Type:CHARACTER:ComIbmThrowNode
 
					Name:CHARACTER:Transaction#FCMComposite_1_5
 
					Label:CHARACTER:Transaction.Throw
 
					Catalog:CHARACTER:BIPmsgs
 
					Severity:INTEGER:1
 
					Number:INTEGER:3001
 
					Text:CHARACTER:User exception thrown by throw node
 
					Insert
 
							Type:INTEGER:5
 
							Text:CHARACTER:
 
 
if select as Automatic
 
File:CHARACTER:F:\build\S700_P\src\DataFlowEngine\ImbDataFlowNode.cpp
 
			Line:INTEGER:1073
 
			Function:CHARACTER:ImbDataFlowNode::createExceptionList
 
			Type:CHARACTER:ComIbmMQInputNode
 
			Name:CHARACTER:Transaction#FCMComposite_1_1
 
			Label:CHARACTER:Transaction.MQ Input
 
			Catalog:CHARACTER:BIPmsgs
 
			Severity:INTEGER:3
 
			Number:INTEGER:2230
 
			Text:CHARACTER:Node throwing exception
 
			UserException
 
					File:CHARACTER:F:\build\S700_P\src\DataFlowEngine\BasicNodes\ImbThrowNode.cpp
 
					Line:INTEGER:265
 
					Function:CHARACTER:ImbThrowNode::evaluate
 
					Type:CHARACTER:ComIbmThrowNode
 
					Name:CHARACTER:Transaction#FCMComposite_1_5
 
					Label:CHARACTER:Transaction.Throw
 
					Catalog:CHARACTER:BIPmsgs
 
					Severity:INTEGER:1
 
					Number:INTEGER:3001
 
					Text:CHARACTER:User exception thrown by throw node
 
					Insert
 
							Type:INTEGER:5
 
							Text:CHARACTER: | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | adubya | 
		  
		    
			  
				 Posted: Thu Mar 21, 2013 12:31 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Partisan
 
 Joined: 25 Aug 2011 Posts: 377 Location: GU12, UK 
  | 
		  
		    
			  
				| Is your MQ input queue persistent ? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | yellowbee | 
		  
		    
			  
				 Posted: Mon Mar 25, 2013 8:59 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Acolyte
 
 Joined: 14 Apr 2012 Posts: 58
  
  | 
		  
		    
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | adubya | 
		  
		    
			  
				 Posted: Mon Mar 25, 2013 9:58 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Partisan
 
 Joined: 25 Aug 2011 Posts: 377 Location: GU12, UK 
  | 
		  
		    
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | zpat | 
		  
		    
			  
				 Posted: Mon Mar 25, 2013 10:41 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Jedi Council
 
 Joined: 19 May 2001 Posts: 5867 Location: UK 
  | 
		  
		    
			  
				Even when queues have default persistence, messages may not be.
 
 
I have a problem sometimes with developers sending non-persistent test messages using rfhutilc and wondering why the transaction does not work normally. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |