Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-531

Failing copy from xquery query leads to failing whole job

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.2
    • 1.3.2
    • BPEL Runtime
    • None

    Description

      I did
      <copy>
      <from variable="myVar" part="TestPart">
      <query queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xquery1.0">
      let $j := 10 div 0
      return concat("abc", $j)
      </query>
      </from>
      <to variable="myVar" part="TestPart"/>
      </copy>

      After it, I got:

      02-27@13:27:54 ERROR (JacobVPU.java:463) - Method "run" in class "org.apache.ode.bpel.runtime.ASSIGN" threw an unexpected exception.
      org.apache.ode.bpel.runtime.InvalidProcessException: Expression Failed:

      {OXPath10Expression null}

      at org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.evaluateQuery(ExprEvaluationContextImpl.java:108)
      at org.apache.ode.bpel.runtime.ASSIGN.evalQuery(ASSIGN.java:619)
      at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:187)
      at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:360)
      at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:81)
      at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
      at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
      at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:854)
      at org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:206)
      at org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:220)
      at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:392)
      at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:391)
      at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:387)
      at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:265)
      at org.apache.ode.il.MockScheduler.access$000(MockScheduler.java:46)
      at org.apache.ode.il.MockScheduler$3$1.call(MockScheduler.java:110)
      at org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:134)
      at org.apache.ode.il.MockScheduler$4.call(MockScheduler.java:151)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
      at java.util.concurrent.FutureTask.run(FutureTask.java:123)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
      at java.lang.Thread.run(Thread.java:595)
      Caused by: org.apache.ode.bpel.explang.EvaluationException: Error while executing an XQuery expression: net.sf.saxon.trans.XPathException: Integer division by zero
      at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.evaluate(XQuery10ExpressionRuntime.java:435)
      at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.evaluate(XQuery10ExpressionRuntime.java:154)
      at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.evaluateNode(XQuery10ExpressionRuntime.java:219)
      at org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluateNode(ExpressionLanguageRuntimeRegistry.java:84)
      at org.apache.ode.bpel.runtime.ExprEvaluationContextImpl.evaluateQuery(ExprEvaluationContextImpl.java:102)
      ... 25 more
      Caused by: net.sf.saxon.trans.XPathException: Integer division by zero
      at net.sf.saxon.value.Int64Value.div(Int64Value.java:575)
      at net.sf.saxon.expr.Calculator$IntegerDivInteger.compute(Calculator.java:781)
      at net.sf.saxon.expr.ArithmeticExpression.evaluateItem(ArithmeticExpression.java:292)
      at net.sf.saxon.functions.Concat.evaluateItem(Concat.java:38)
      at net.sf.saxon.expr.Expression.iterate(Expression.java:370)
      at net.sf.saxon.query.XQueryExpression.iterator(XQueryExpression.java:307)
      at net.sf.saxon.xqj.SaxonXQPreparedExpression.executeQuery(SaxonXQPreparedExpression.java:87)
      at org.apache.ode.bpel.elang.xquery10.runtime.XQuery10ExpressionRuntime.evaluate(XQuery10ExpressionRuntime.java:402)
      ... 29 more

      which lead to failing the whole job.
      Instead, there ought to be 'selectionFailure' fault raised.

      Attachments

        1. xqueryquery-patch.diff
          5 kB
          Rafal Rusin
        2. xqueryquery-testcase.diff
          1 kB
          Rafal Rusin

        Activity

          People

            karthick Karthick Sankarachary
            rrusin Rafal Rusin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: