Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-4615

NamingContext caches stale Naming stub

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • JBossAS-4.0.5.GA, JBossAS-5.0.0.Beta2, JBossAS-4.2.0.GA, JBossAS-4.2.1.GA
    • Naming
    • None

    Description

      As an important performance optimization, org.jnp.interfaces.NamingContext statically caches a WeakReference to the "proxy" to the server-side Naming service. In most cases this is either an RMI stub (non-HA naming service) or a proxy based on an HARMIClient (for HA-JNDI). Either way, the cached object uses RMI to communicate with the server.

      This object becomes invalid if the server (non-HA case) or cluster (HA case) it was associated with is restarted. The object in the restarted server-side RMI runtime will no longer match the client-side RMI stub, and an invocation over the stub will result in a java.rmi.NoSuchObjectException on the client. NamingContext's caching of the RMI greatly increases the odds of this occuring. If this occurs, the cache will be flushed and the next call will acquire a fresh stub from the server, but the client will get an exception on the first call.

      Proposed solution is discussed on forum thread.

      Attachments

        Issue Links

          Activity

            People

              bstansbe@redhat.com Brian Stansberry
              bstansbe@redhat.com Brian Stansberry
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: