Avoid trouble: If
you have clients running in an environment:
- That includes Java thin clients,
- Where requests are being routed between multiple cells, or
- Where requests are being routed within a single cell that includes
nodes from earlier versions of the product,
they might suddenly encounter a situation where the port information
about the cluster members of the target cluster has become stale.
This
situation most commonly occurs when all of the cluster members have
dynamic ports and are restarted during a time period when no requests
are being sent. The client process in this state will eventually
attempt to route to the node agent to receive the new port data for
the cluster members, and then use that new port data to route back
to the members of the cluster.
If any issues occur that
prevent the client from communicating with the node agent, or that
prevent the new port data being propagated between the cluster members
and the node agent, request failures might occur on the client. In
some cases, these failures are temporary. In other cases you need
to restart one or more processes to resolve a failure.
To
circumvent the client routing problems that might arise in these cases,
you can configure static ports on the cluster members. With static
ports, the port data does not change as a client process gets information
about the cluster members. Even if the cluster members are restarted,
or there are communication or data propagation issues between processes,
the port data the client holds is still valid. This circumvention
does not necessarily solve the underlying communication or data propagation
issues, but removes the symptoms of unexpected or uneven client routing
decisions.
gotcha