ODE
  1. ODE
  2. ODE-625

Deployment Poller Crashes when trying to deploy BPEL File with errors

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0
    • Fix Version/s: 1.3.5, 1.4
    • Component/s: Deployment
    • Labels:
      None
    • Environment:
      Tomcat/5.5 debian Linux Ode Trunk Rev. 782012

      Description

      Whenever a BPEL File that contains semantic errors is deployed, the deployment services crashes with a FATAL Exception, thus no more Processes can be deployed until the Ode Webapp is restarted.

      This can be reproduced by performing the following steps:
      1. Deploy empty ode webapp in tomcat using the trunk revision (as listed in environment)
      2. create a BPEL process that contains an error like a typo in an xpath variable name ore something else non-syntactical.
      3. The BPEL Compiler recognizes that error, which is the correct behaviour.
      4. The thrown exception is propagated into the deployment service
      5. The Exception is not cought in the deployment service and the deployment poller crashes

      This can be seen easily in the following ODE Log file:
      18180 [Thread-8] ERROR org.apache.ode.bpel.compiler.BpelC - null:237: error: [UndeclaredVariable] Attempt to reference undeclared variable "querytarget".
      ***************************************************************************************

          • The error in the BPEL file here is a type in the variable name "querytarget". ***
            ***************************************************************************************

      18194 [Thread-8] ERROR org.apache.ode.store.ProcessStoreImpl - Deploy failed; error: [CompilationErrors] Compilation completed with 1 error(s):
      null:237: error: [UndeclaredVariable] Attempt to reference undeclared variable "querytarget".

      org.apache.ode.bpel.compiler.api.CompilationException: error: [CompilationErrors] Compilation completed with 1 error(s):
      null:237: error: [UndeclaredVariable] Attempt to reference undeclared variable "querytarget".

      at org.apache.ode.bpel.compiler.v2.BpelCompilerImpl.compile(BpelCompilerImpl.java:764)
      at org.apache.ode.bpel.compiler.v2.BpelCompilerImpl.compile(BpelCompilerImpl.java:133)
      at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:268)
      at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:338)
      at org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:172)
      at org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:135)
      at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:185)
      at org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:162)
      at org.apache.ode.axis2.deploy.DeploymentPoller.access$400(DeploymentPoller.java:60)
      at org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:247)
      18199 [Thread-8] ERROR org.apache.ode.axis2.deploy.DeploymentPoller - Deployment of Context4BPELScenario failed, aborting for now.
      org.apache.ode.bpel.iapi.ContextException: Deploy failed; error: [CompilationErrors] Compilation completed with 1 error(s):
      null:237: error: [UndeclaredVariable] Attempt to reference undeclared variable "querytarget".

      at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:189)
      at org.apache.ode.axis2.deploy.DeploymentPoller.check(DeploymentPoller.java:162)
      at org.apache.ode.axis2.deploy.DeploymentPoller.access$400(DeploymentPoller.java:60)
      at org.apache.ode.axis2.deploy.DeploymentPoller$PollingThread.run(DeploymentPoller.java:247)
      Caused by: org.apache.ode.bpel.compiler.api.CompilationException: error: [CompilationErrors] Compilation completed with 1 error(s):
      null:237: error: [UndeclaredVariable] Attempt to reference undeclared variable "querytarget".

      at org.apache.ode.bpel.compiler.v2.BpelCompilerImpl.compile(BpelCompilerImpl.java:764)
      at org.apache.ode.bpel.compiler.v2.BpelCompilerImpl.compile(BpelCompilerImpl.java:133)
      at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:268)
      at org.apache.ode.bpel.compiler.BpelC.compile(BpelC.java:338)
      at org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:172)
      at org.apache.ode.store.DeploymentUnitDir.compile(DeploymentUnitDir.java:135)
      at org.apache.ode.store.ProcessStoreImpl.deploy(ProcessStoreImpl.java:185)
      ... 3 more
      21204 [Thread-8] FATAL org.apache.ode.axis2.deploy.DeploymentPoller - Encountered an unexpected error. Exiting poller...
      java.lang.NullPointerException
      at org.apache.ode.store.ProcessStoreImpl.refreshSchedules(ProcessStoreImpl.java:851)
      at org.apache.ode.axis2.deploy.DeploymentPoller$DDWatchDogObserver.init(DeploymentPoller.java:292)
      at org.apache.ode.utils.WatchDog$DefaultObserver.onUpdate(WatchDog.java:302)
      at org.apache.ode.utils.WatchDog.check(WatchDog.java:132)

      The last error destroys the deployment poller

        Issue Links

          Activity

          Hide
          Christian Fonden added a comment -

          If I my help you a bit:

          The Bug is in the File ProcessStoreImpl.java in Line 904 or so:
          There is a foreach Loop iterating over the result of listProcesses(package).

          The Bug:
          listProcesses of that package (naturally) returns null in case of compile errors,
          thus resulting in a null reference while trying to iterate over the list that is null.

          with that hint, someone should easily be able to fix it. (I already did so in my source code, but have no developer account to the svn)

          Show
          Christian Fonden added a comment - If I my help you a bit: The Bug is in the File ProcessStoreImpl.java in Line 904 or so: There is a foreach Loop iterating over the result of listProcesses(package). The Bug: listProcesses of that package (naturally) returns null in case of compile errors, thus resulting in a null reference while trying to iterate over the list that is null. with that hint, someone should easily be able to fix it. (I already did so in my source code, but have no developer account to the svn)
          Hide
          Tammo van Lessen added a comment -

          fixed with https://svn.apache.org/repos/asf/ode/trunk@955618 - thanks for the hint.

          Show
          Tammo van Lessen added a comment - fixed with https://svn.apache.org/repos/asf/ode/trunk@955618 - thanks for the hint.

            People

            • Assignee:
              Tammo van Lessen
              Reporter:
              Christian Fonden
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development