Are you sure that the contents of the hashtable are serializable ?
I believe that items stored in JNDI are stored as serialized objects.
Basically meaning that when your first server started, it created a new (empty) map and stored it in the JNDI tree. At that point, it was serialized as an empty map.
Every subsequent lookup would then be getting the empty map.
What leads me to think this is that with HARMI stubs, you must re-bind the object every time the replicant group changes. Which sounds like it's stored serialized, rather than as a live instance.
If you are looking to just share data between nodes in a cluster, DistributedState is probably what you are looking for.
Otherwise, you may have to rebind the MAP back to ha jndi every time you modify it. Which isn't really a valid approach as you'll get your nodes overwriting each other.
The JNDI = serialized thing is just a guess, I haven't looked in to the code to be sure. But I do know that when I change things stored in JNDI, I must re-bind them to the tree so the next time it's looked up it's a 'current' object.
Hope that helps,