[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

691.0. "count the timeout value as server's processing time" by DEKVC::JONGHOLEE () Mon May 12 1997 11:18

    Hi,

    My customer (KSE, Korea Stock Exchange) has some questions about declaring
    RTR transaction timeout value and ENQing message.  

    (1)  Question on declaring timeout value

		Client Program			Server Program
		--------------			--------------
		SYS$START_TXW			SYS$DEQ_TXW
                    with 20 sec. timeout        if rtr$_starttx
                SYS$ENQ_TXW				SQL processing
                SYS$DEQ_TXW			if rtr$_votetx
                SYS$COMMIT_TXW				SYS$VOTE_TXW
                                                        SQL COMMIT

	 Please inform me whether there are any way to proceed to next step of 
	 "SYS$ENQ_TXW" of client program, after server program receives
	 the message by "SYS$DEQ_TXW" ?

	 That is, serveral ENQed messages from clients will be waited on
	 transaction router to receive one server's service.  Also, declared
	 RTR transaction timeout value is counted from "SYS$START_TX" until 
	 "SYS$COMMIT_TXW".

	 But, my customer wants to count the timeout value as server's 
	 processing time of client's message.
	
    (2)  Please advise me on my customer's program structure.

		Client Program			Server Program
		--------------			--------------
		SYS$START_TX			SYS$DEQ_TXW
		SYS$ENQ_TXW			if rtr$_starttx or rtr$_normal
                SYS$ENQ_TXW                             SQL processing
                SYS$ENQ_TXW                     if rtr$_votetx
                SYS$ENQ_TXW                             SYS$VOTE_TXW
                SYS$ENQ_TXW                             SQL COMMIT
                SYS$COMMIT_TX                   

	 (2-1)  If client program ENQs messages continuously, but DEQ cycle of 
		server program was delayed very long time for some reasons,
		what expected problems are ?

	 (2-2)  Is it possible client program ENQs next message in
		a RTR transaction, after server program DEQed current one from
		client ?

    If you need more descriptions about my questions, please inform me.

    Best Regards,
    Jong-Ho Lee.
    
T.RTitleUserPersonal
Name
DateLines
691.1AMCFAC::RABAHYdtn 471-5160, outside 1-810-347-5160Mon May 12 1997 18:3622
re .0:

For the client program to know that a server has begun working on its'
transaction, I suggest the following construct;

	client			server
	------			------
	$dcl_tx_prc/req		$dcl_tx_prc/server
	$start_tx
	$enq_tx			$deq_tx
	$deq_tx			$enq_tx
				  DB processing
	$setimr/daytim=20
	$deq_tx			$enq_tx
	$wflor
	if timer expired
		then $abort_tx
	...

The first reply is sent be the server program before doing any DB work as a
single to the client program.  The second reply contains the results of the
query.
691.2AMCFAC::RABAHYdtn 471-5160, outside 1-810-347-5160Mon May 12 1997 18:385
re .0:

There are flow control mechanisms which will inhibit the client program from
continuing to function.  Specifically, the process will end up in the RWAST
state until the server program catches up some.
691.3Thanks for youDEKVC::JONGHOLEEMon May 19 1997 10:406
  Thanks for your advice.

  Regards.

  Jong-ho Lee.