[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
| 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 | 
684.0. "not transactional broadcast; transparent multi-partition enqueue/send" by AMCFAC::RABAHY (dtn 471-5160, outside 1-810-347-5160) Mon Mar 17 1997 18:45
Ok, I've figured it out.  One reason the world wants transactional broadcast is
because it would give them transparent multi-partition enqueue/send.
So, give us what they want independent of transactional broadcast if that helps.
requester	server 1		server 2
---------	--------		--------
$dcl_tx_prc/req	$dcl_tx_prc/ser/key=1	$dcl_tx_prc/ser/key=2
$start_tx
$enq_tx		$deq_tx			$deq_tx
		  DB operation		  DB operation
loop:
$deq_tx		$enq_tx/reply		$enq_tx/reply
rollup
until_no_more:
$abort		$deq_tx			$deq_tx
Server 1 serves � the database, server 2 serves the other �.  Someone wants to
know the total across the two parts.  But we want to code this application to
handle a different number of partitions without recoding.  Replies should be
coded as a loop until no more.  The application will have to rollup the replies
into a final result.
Perhaps a new kind of server could do the rollups transparently to the requester?
requester	server 1		server 2		rollup server
---------	--------		--------		-------------
$dcl_tx_prc/req	$dcl_tx_prc/ser/key=1	$dcl_tx_prc/ser/key=2	$dcl_tx_prc/roll
$start_tx
$enq_tx		$deq_tx			$deq_tx
		  DB operation		  DB operation
								loop:
		$enq_tx/rollup		$enq_tx/rollup		$deq_tx
								rollup
								until_no_more:
$deq_tx								$enq_tx/reply	
	
$abort		$deq_tx			$deq_tx			$deq_tx
If there's only one partition then an $enq_tx/rollup degenerates to an
$enq_tx/reply and the trip to the rollup server is avoided?
The problem is coding an application to learn the number of partitions and where
the lines between them are is a pain.  It all gets worse if not impossible when
you want to consider transactional dynamic repartitioning.
| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|