I don't understand the problem. the steps are:
1) look up in the global jndi tree
2) lookup in the local jndi tree
3) ask other distant jndi tree to lookup locally.
We don't have to ask other distant ha-jndi tree to lookup in their global tree because all nodes share the same information => step 1 already checked that!
I understand what you are saying, and that is how we expected it to function. We then saw in the Clustering docs (Figure 6 HA-JNDI lookup process) that this did not seem to be the case. The diagram seems to imply the lookup process as I explained it before.
The problem is that when a new node joins the cluster, it's does not seem to be initialised with the current HA-JNDI data. We found that a lookup on joining a cluster fails until there is a change in the HA-JNDI at which point the cluster-wide JNDI is updated. It looks like it could actually be a problem in the initialisation on the HA-JNDI. I will take a look.