[omniORB] oneway calls delivery sequence

Ivanov, Roumen Roumen.Ivanov at drkw.com
Tue Apr 5 11:59:25 BST 2005


Hi Duncan,

Thanks for the valuable support!

What you are saying should make the things working.

threadPerConnectionPolicy is 1 by default and should be enough for the
sender.
maxServerThreadPerConnection = 1 should make the receiver getting them in
the same order (if some do not get lost of course).

Thanks again!

Roumen


-----Original Message-----
From: Duncan Grisby [mailto:duncan at grisby.org] 
Sent: 04 April 2005 18:43
To: Ivanov, Roumen
Cc: 'Omniorb list'
Subject: Re: [omniORB] oneway calls delivery sequence 

On Thursday 31 March, "Ivanov, Roumen" wrote:

> we have been using omniORB 3.0.3 for a long time in our implementation 
> of something similar to the notification service.
> The messages have seq-numbers assigned to them and are sent using 
> oneway calls from the same thread.
>  
> After migrating to omniORB 4.0.3 (all default policies and flags) I'm 
> observing, that sometimes, newer messages from same client come on the 
> other side after older ones.

[...]
> This happens only when a bunch of messages has been sent.
> Indeed I still could not confirm on which side this happens.
>  
> Guessing something, I tried setting maxGIOPConnectionPerServer = 1 for 
> both sides, but it didn't help.
>  
> Reading the CORBA specification I couldn't find anything, that 
> confirms or negates some sequence break for oneway calls.

There are no guarantees about the ordering of oneways (or even if they're
delivered at all). What you're seeing is that omniORB has chosen to use a
different thread to service some of the oneways, meaning they come out of
order. In general you shouldn't rely on strict ordering of oneways, but you
can get back the old omniORB behaviour by using the thread per connection
model, and setting maxServerThreadPerConnection = 1.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --


--------------------------------------------------------------------------------
The information contained herein is confidential and is intended solely for the
addressee. Access by any other party is unauthorised without the express
written permission of the sender. If you are not the intended recipient, please
contact the sender either via the company switchboard on +44 (0)20 7623 8000, or
via e-mail return. If you have received this e-mail in error or wish to read our
e-mail disclaimer statement and monitoring policy, please refer to 
http://www.drkw.com/disc/email/ or contact the sender. 3167
--------------------------------------------------------------------------------




More information about the omniORB-list mailing list