7 comments on “WebLogic 10.3 jndi issue with versioned app during cluster restart

  1. Well done for solving this. Versioned deployment has promised a lot a few years ago, but unfortunatelly hasn’t lived up to its promises. Many problems including MDBs that would still take receive msgs even when de-activated and so on. It is tricky to identify problems like this, this shows how well you have approached the problem. Sod versioned deployment, the loss is not that great!

  2. I was able to raise this issue with Oracle support and here is the answer from them.

    For this issue,we have a bugBug 8176653, and it is found in 10.3.0 but fixed in the higher version of the weblogic server 10.3.1.Kindly request you to download the patch using the smart update and test it and let us know the result.

    Download and install the following WLS patch from SmartUpdate to resolve this issue:

    Patch ID: 855M
    Passcode: ZIGIWA22

    Also found the following reference while searching Oracle bug database –

    The cause of this problem has been identified in Weblogic Server (WLS) version 10.3.0 Bug 8176653, and it is caused by versioned EJB can not be looked up after one server in cluster is shutdown.

    So the problem is, as we expected earlier, with JNDI management of WLS 10.3.0 with versioned EAR in clustered deployment. Either remove versioning from your application or upgrade WLS version.

  3. We could also specifiy the property -Dweblogic.jndi.relaxVersionLookup=true (to WLS, or Foreign JNDI Providers being used)

    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e13941/constant-values.html#weblogic.jndi.WLContext.RELAX_VERSION_LOOKUP

    Specifies the lookup behavior when bindings from the current application version cannot be found. If the property is set to true, the currently active version will be returned, if any. If the property is set to false, a NameNotFoundException will be returned. The default value of the property is false. Users should exercise discretion and ensure that components of different application versions are compatible when setting the property to true.

  4. Hi,
    I’ve similar problem with Weblogic 10Mp1 and we are trying Weblogic cluster for our next release. We have two manage nodes MAN1 & MAN2 and we haven’t clustered EJBs & JMS (only JDBC is clustered). We have created one JMS server for each managed node and with respective JMS module.

    MAN1-JMS-SERVER -> DEPLOYED TO MAN1
    MAN2-JMS-SERVER -> DEPLOYED TO MAN2

    MAN1-JMS-MODULE -> DEPLOYED TO MAN1
    MAN2-JMS-MODULE -> DEPLOYED TO MAN2

    MAN1-JMS-MODULE & MAN2-JMS-MODULE has has Queue & Topic connection factories and queues/topic definitions. Basically, each managed node has same queue/topic factories and queues/topics published.

    In multicast configuration, when I bring down one managed node, it is messing up JNDI trees in another managed node as well and queues/topics are getting removed & it causes NameNotFoundException for queues/topics. This makes managed node (which is up & running) useless and defeats the whole purposes of making application clustered.

    This problem is present in unicast though and it works well here.

    Software versions
    Weblogic 10 MP1, JDK 1.5.0.11, EJB 2.1

    I tried -Dweblogic.jndi.relaxVersionLookup=true in Weblogic startup scripts but this still doesn’t work with multicast configuration. Can any one tell me why this problem exists and how it can be fixed?

  5. I downloaded latest Weblogic 10.3.5 and I see this issue in both unicast & multicast. In both cases, when I shutdown one managed node, it removes JNDI queue & topic references from other managed node as well, which is up & running.

    In weblogic 10 Mp1, this issue is present only in mulitcast and unicast works fine.

    In 10.3.5, the cluster wide JNDI update happens in both unicast & multlcast and if I look at JNDI tree for managed node 1, the EJB has references of both Man1 & Man2 in toString method. In 10 Mp1, this EJB references having both Man1 & Man2 references is present only in multicast and in unicast I see only respective managed nodes references for EJB, which means cluster wide updates are not happening in unicast mode.

    Regards,
    Prakash

  6. Hi,

    I have a similar problem on WLS 10.3.6. I have a web application with JMS dependencies (with Spring and Camel).

    I have a JMSServer deployed on a migratable node (with an Exactly One policy), and the War deployed on cluster.

    When the running node is shutdown, the JMSServer migrate to another node and the web application is still running.

    Where the first one is recovery (and restart) the web app is deployed before that the node try to download the JNDI Tree, so a NameNotFoundException happens.

    Any sugestion?

    Thanks in advance.
    Martin

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s