2 Replies Latest reply on Jan 25, 2013 7:48 AM by young_matthewd-759774

    onRecovery() WTC NullPointerException

      Wondering if anybody has had the same issue with WTC on both the older WLS 10 series and 12c

      We are getting an "onRecovery()" error with WTC:
      ####<2013-01-20, 00:44:22 CET> <Warning> <JTA> <[ACTIVE] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1358639062917> <BEA-110011> <onRecovery() callback exception: java.lang.NullPointerException

      Basically the caller (Tuxedo) can send a request, the request is handled but no response is ever generated. This happens with one application that if not used for a while fails with onReceovery. And another where Tuxedo (whom initiates the call) is round-robining to 2 WLS clusters requests. In that setup we bounce one of the WLS instances (take the server process up and down) and upon startup WTC fails with onRecovery warnings. Since the response is never issued a timeout is issued on the Tuxedo side.
        • 1. Re: onRecovery() WTC NullPointerException
          Kishore Rout
          This is not an indication of any problem. The presence of left over transaction (tlog) files would give such errors but would not cause any harm to the environment.

          Clean out transaction related resources to avoid this warning message.

          Mark if this helps.

          • 2. Re: onRecovery() WTC NullPointerException
            @Kishore, thanks for the tip about it being related to transactions.....

            The warning is more than a warning. The request is handled by WLS but the response is never returned. So how that relates to previous transactions would love to know? ;-) Something is corrupting the transactions if there are tlog files over.

            We are 2 situations when the onRecovery warning demands a restart of the application server. First is inside a round-robin from Tuxedo to 2 WLS clusters with one node each. We bounce the one node and since the WTC server is activated prior to EJB services (that means Tuxedo can communicate with WTC and ask after services) some transactions fail due to the aforementioned lack of a response. The other case is a quiet environment for about a day. Tuxedo thereafter starts a call and never gets a response.

            Added full WTC debugging to a functional environment where the onRecovery pops up. With tack on more info to this post when I get something there.

            WTC looks like it goes through an initialize state of logging, translation services, Tuxedo Connection manager then a stage of "reading external" and then preparing "onRecovery" of Tuxedo Loggable.