[tao-users] Stale connections with BiDirGIOP
Milan Cvetkovic
milan.cvetkovic at mpathix.com
Mon Oct 12 10:13:45 CDT 2015
TAO VERSION: 2.2.1
ACE VERSION: 6.2.1
HOST MACHINE and OPERATING SYSTEM: Debian wheezy on x86_64
THE $ACE_ROOT/ace/config.h FILE: config-linux.h
THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE:
c++11 = 1
ssl = 1
include ${ACE_ROOT}/include/makeinclude/platform_linux.GNU
AREA/CLASS/EXAMPLE AFFECTED:
BiDirGIOP / Transport_Cache_Manager_T / SSLIOP
DOES THE PROBLEM AFFECT:
EXECUTION: YES
SYNOPSIS: After loss of network connection from a client, server is
no longer able to invoke callback RPCs, even after client reconnected,
and resubmitted its callback IOR.
DESCRIPTION:
I have BiDirGIOP setup over SSLIOP. Client is behind firewall router on
192.168.12.x network. Client incarnates callback object, listening on
192.168.12.113:7770 and port 7771 for ss. Client contacts the server
over the internet, and it sends the IOR to callback object above. Server
later uses callback object to send various notifications. This setup
utilizes bidirectional GIOP, over SSLIOP.
Everything works as desired, until client loses connectivity to server.
When client re-registers, server adds the new Transport to Transport
cache manager, however in some scenarios it does not remove the old
transport, and keeps using it for callbacks, failing on CORBA::TIMEOUT
My understanding is that Transport_Cache_Manager keeps the hash map
table of all connections. These connections have the same key, being
issued from the same IP:port every time (in the example above,
192.168.12.113:7771). In some cases, the server does not replace the
existing transport entry, but adds it with an increased index, and keeps
using index:0 for making callbacks.
I am attaching the portions of TAO logs. Note that second registration
binds with index :1. The stale transport is kept with index :0.
How do I control the content of Transport_Cache_Manager_T. I removed the
references to callback objects from server, however the transport is
still cached.
Thanks, Milan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bidir-timeout.log
Type: text/x-log
Size: 2670 bytes
Desc: not available
URL: <http://list.isis.vanderbilt.edu/pipermail/tao-users/attachments/20151012/4585cde0/attachment.bin>
More information about the tao-users
mailing list