Skip to main content

Failure 38264: VBC 4.5.x: Why is the Server spawned by OAD using UNSHARED activation policy and using Gatekeeper not terminated when client finishes execution?

  • February 16, 2013
  • 0 replies
  • 0 views

Problem:

  • Product Name: VisiBroker for C
  • Product Version: 4.5.x
  • Product Component : Gatekeeper, OAD
  • Platform/OS Version: HP-UX 11.1, Windows

The problem can be reproduced on the Windows and HP-UX platforms. Use the bank_agent example with the property files and the following instructions could reproduce the issue:

The property files used are as follows,

gatekeeper.properties:

vbroker.se.exterior.scm.ex-iiop.listener.port=15010
vbroker.se.exterior.host=172.20.20.113
vbroker.se.interior.host=172.20.20.113 
#vbroker.se.interior.scm.in-iiop.manager.connectionMaxIdle=3
#vbroker.se.exterior.scm.ex-iiop.manager.connectionMaxIdle=3
# Gatekeeper debug properties
vbroker.orb.debug=true
vbroker.orb.logLevel=debug
vbroker.orb.warn=2
vbroker.poa.logLevel=debug
vbroker.agent.debug=true

client.prop:

vbroker.agent.enableLocator=false
vbroker.orb.alwaysProxy=true
vbroker.orb.gatekeeper.ior=

server.ini:

vbroker.se.iiop_tp.scm.iiop_tp.listener.port=15001
vbroker.se.default.local.manager.enabled=false

Run the following steps to reproduce the issue:

$ osagent &
$ oad &
$ oadutil reg -poa /bank_agent_poa -cpp Server -a "-DORBpropStorage=server.ini" -p UNSHARED
$ gatekeeper -props gatekeeper.properties &
$ Client -DORBpropStorage=client.prop

We see that when the client finishes execution, the server is still running. When the Gatekeeper is not involved, the Server shuts down properly.

Also, Using connectionMaxIdle on the Gatekeeper did not make any difference (properties that are tried and not effective are showed as comments in the gatekeeper.properties file).

Resolution:

The issue is filed as failure 38264: Server spawned by OAD using UNSHARED activation policy and using Gatekeeper not terminated when client finishes execution.

To workaround the issue, the application could perform orb.shutdown() on the Server explicitly called by the Client. Please refer to the /vbroker/examples/dynany example on how a Client can shutdown a Server.

 


#Security
#VisiBroker