[omniORB] Problem with migration from 4.0.7 to 4.1.3

Duncan Grisby duncan at grisby.org
Fri Oct 24 18:45:54 BST 2008


On Thursday 23 October, Serguei Kolos wrote:

> While migrating from the omniORB 4.0.7 to 4.2.3 I have noticed significant
> difference in the behavior of omniORB applications. I have server
> application
> which is using the following two options:
> 
> threadPerConnectionPolicy 0   // the server shall be able to process
>                                                       // several
> hundreds of clients concurrently
> threadPoolWatchConnection 0 // for more efficient processing
>                                                       // of concurrent
> client requests
> 
> That was working fine with 4.0.7. Now with 4.1.3 if a client sends several
> subsequent requests to the server then for every second request it get
> response with 50 milliseconds delay. For example when running both the
> client and server on the same machine the times for requests execution
> look like (in milliseconds): 0.12    50.23    0.12    50.42    0.14
> 50.88 ...

It's a bug. In the case of using a thread pool and not watching
connections, the last socket in the array used in a call to poll() would
incorrectly think it was still in the array after it had been removed.
That meant that socket was not re-added to the array at the right time,
leading to the delay.

I've fixed it in CVS, and attached the simple patch that fixes it.

Thanks for the bug report.

Duncan.

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: socketcollection.patch
Type: text/x-c++
Size: 1257 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20081024/c3db5057/socketcollection.bin


More information about the omniORB-list mailing list