Problem:

  • Product Name: VisiBroker
  • Product Version: 8.5
  • Platform/OS version: All

Why do I see CORBA REBIND Exceptions under NO_RECONNECT Rebind Policy even when the Network, Firewall, Operating System and Server process do not seems to have any issues?

Resolution:

The OMG Rebind Policy of NO_RECONNECT prevents the ORB from silently handling object-forwards or the reopening of closed connections. With this Rebind Policy, the Client side ORB that is trying to make a remote invocation will throw REBIND exception immediately if it detects that the existing connection has been closed.

A connection closure may be due to network, firewall, Operating System issues or the Server process crash.
On top of that, a connection can also be closed by the Server or Client side ORB when it is performing connection management operations.
The ORB will actively close an idle/inactive connection based on the following connectionMax or connectionMaxIdle property settings.

  • vbroker.ce.iiop.ccm.connectionMax
  • vbroker.ce.iiop.ccm.connectionMaxIdle
  • vbroker.se.<se_name>.scm.<scm_name>.manager.connectionMax
  • vbroker.se.<se_name>.scm.<scm_name>.manager.connectionMaxIdle

These properties are documented in the VisiBroker Java and C Developer's Guide.

When NO_RECONNECT Rebind Policy is set, the application layer is expected to catch REBIND exception and handle them gracefully. But if too many REBIND Exceptions are thrown because the ORB is closing idle/inactive connections too quickly, you may consider tuning the above properties.

You may also consider using other CORBA Rebind Policies (e.g. VB_TRANSPARENT) that transparently re-establised connection to the Server, if this behaviour is acceptable to the application.

For more details about VisiBroker Rebind Policies, please read the documentation here.

Incident # 2850374