| Summary |
Attempting to list the contents of a federated, direct-persistent Naming Service can result in either an “Object Not Found” exception, or unexpected contents. |
|---|---|
| Environment |
Orbix 6.3 |
| Question/Problem Description |
This behaviour can be the result of two separate issues: Binding entries: Reading Entries: The “client_binding_list” is a list of client-side, request-level interceptors. One of these interceptors is the “POA_Coloc”, which is used by Orbix to avoid remote calls on local references. In the case of Naming Contexts, the POA_Coloc interceptor mistakenly processes the remote Naming Context as local, resulting in Orbix reading the local Naming Service instead of calling the remote Naming Service. |
| Clarifying Information | |
| Error Message | |
| Defect/Enhancement Number | |
| Cause | Orbix does not distinguish between remote and local direct persistent contexts for the Naming Service by default. |
| Resolution |
To ensure Orbix distinguishes between local and remote Naming Service entries when binding, the configuration variable “plugins:naming:check_ior_hostname” is provided. Setting this to “true” resolves problems binding remote contexts. plugins:naming:check_ior_hostname = “true”; Additionally, the POA_Coloc can be removed from the client’s binding list to prevent it from processing remote Naming Contexts as local. Default client binding list: Updated client binding list: Updating the configuration variables “plugins:naming:check_ior_hostname” and “binding:client_binding_list” can prevent federated, direct-persistent Naming Services from displaying incorrect data. |
| Workaround | Use a Naming Service that is not direct persistent. If either the remote or local Naming Service is registered with the Locator and Node Daemon the Naming Service will recognise this as a indirect persistent POA and resolve the Context rather than assuming it is local. |
| Notes |
Removing the POA_Coloc will result in calls going through the network loop back adapter while the Naming Service is being traversed rather than making a local invocation. See related article: Use of POA_Coloc Interceptor |
| Attachment |
#Orbix
#KnowledgeDocs