[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference decalp::rtrnotes

Title:Reliable Transaction Router
Moderator:TALER::DESHMUKH
Created:Tue Dec 12 1989
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:695
Total number of notes:2564

689.0. "Question on replay transaction" by DEKVC::JONGHOLEE () Tue Apr 15 1997 18:30

    Hi,

    Would you please see following test results about replay transaction
    and inform me on my questions ?

    (test results)

	active server			concurrent or standby server
	-------------			----------------------------
	call "DEQ"
	receive START_TX
	Database Processing
	accept system time
	create message (1) to ENQ
	call "ENQ" (2)
			    failover	
			    -------->	call "DEQ" (replay TX)
					receive START_TX
					Database Processing
					accept system time
					create message (1') to ENQ
					call "ENQ" (2')
					call "DEQ"
					receive ABORT_TX
	------------------------------------------------------------
	* one field of message(1) and (1'), system time, is not the
	  same, since this is business requiremnts.
	**  after calling "ENQ" (2'), client received ABORT_TX.

    (questions)

	Please inform me

	1.  whether RTR compares "ENQ"ed message from failed server with 
	    "ENQ"ed message from currently active server, if they are
	    not exactly same, RTR send ABORT_TX.

	2.  the way my customer can receive COMMIT_TX instead of ABORT_TX.

    Best Regards,
    Jong-Ho Lee.

T.RTitleUserPersonal
Name
DateLines
689.1aborted with REPLYDIFF on V2.2, but not V3DECALP::KLAVINSEd Klavins, RTR EngineeringWed Apr 16 1997 04:0825
> 
> 	1.  whether RTR compares "ENQ"ed message from failed server with 
> 	    "ENQ"ed message from currently active server, if they are
> 	    not exactly same, RTR send ABORT_TX.
> 
    Depends whether this is RTR V2 or V3. The feature described above was
    introduced in RTR about V2.2 timeframe, I believe, and is in all
    subsequent V2 releases. 
    
    RTR V3 does not implement this feature (i.e. if the replies for a
    replayed TX differ, the TX will not be aborted).
    
> 	2.  the way my customer can receive COMMIT_TX instead of ABORT_TX.
> 
    In RTR V2.2 and above (prior to V3), I don't think there is a way to 
    disable this. May have to re-evaluate the reason that the commit time
    needs to be sent from server to client. It is measuring the time
    elapsed between the server committing, and the client receiving the
    commit. Is this a useful measure? Admittedly, this is a bit of a
    construed question, since I agree, there may be times when servers may
    want to send data back to the client which may differ between
    invocations of the server. But I'm afraid this behaviour will have to
    be taken into account when designing the application.
    
    ed
689.2DECALP::KLAVINSEd Klavins, RTR EngineeringWed Apr 16 1997 04:1714
>     disable this. May have to re-evaluate the reason that the commit time
>     needs to be sent from server to client. It is measuring the time
>     elapsed between the server committing, and the client receiving the
>     commit. Is this a useful measure? Admittedly, this is a bit of a

    Just a correction to my previous reply. To be more precise, sending the 
    commit time from server to client is not measuring the elapsed time
    between server committing and client receiving the commit. It's sending 
    an indication of what the server thinks the time was when it committed
    the TX. What does the client do with this time? Unless the client and
    server are on the same machine, then this data isn't useful apart from
    telling the user what time the server thinks it was. Or is it?
    
    ed
689.3thank's & inform me V3 receiving ABORTDEKVC::JONGHOLEEFri Apr 18 1997 13:1321
    Hi,

    I thank you for your help.

    My customer will modify their application's specification according to
    RTR V2 feature.  And, the clients are on Win95 based computers.

    Actually, the time is very important for their business requirements 
    of futures and option trading.  Server program processes a transaction
    with different manner, and it's criterion is received time of a 
    transaction from client.  Also, client should and can know how his 
    transaction will be processed by time from server.

    I have tested V2 source program under V3.  The program received "Success"
    about replayed TX message.  But, my customer wants to receive "Abort".

    Please inform me whether program in V3 can receive ABORT_TX for .0 case.

    Best Regards,
    Jong-Ho Lee.
689.4The abort can be designed into the applicationTALER::DESHMUKHDipankar Deshmukh, RTR (US) EnggSat Apr 19 1997 02:506
	Under V3, if the customer wants this transaction aborted, it
	should expect the time sent back to it in a subsequent message
	from the client. Then it can compare the time it sent back and
	the time it got back from the client. If the two differ, then
	the server can abort the transaction.

689.5thanksDEKVC::JONGHOLEESat Apr 19 1997 07:266
    Thanks for your advice.
    I'll recommend your application design consept to my customer.
    
    regards.
    Jong-ho Lee.