Uploaded image for project: 'JS - JobScheduler'
  1. JS - JobScheduler
  2. JS-1807

Web service ./api/order?return=JocOrderStatistics should also work for distributed orders with PostgreSQL

    XMLWordPrintable

    Details

    • Type: Fix
    • Status: Released (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.12.7
    • Component/s: None
    • Labels:
    • Environment:
      postgres dbms

      Description

      Current Situation

      • The web service /api/order?return=JocOrderStatistics may fail with an error when used with distributed orders.
        16 12:53:39.312 com.sos.scheduler.engine.plugins.newwebservice.routes.ApiRoute [WARN ] - org.postgresql.util.PSQLException: Unzulässiger Wert für den Typ long : <order at="2038-01-19 03:14:07.000Z" name="job_chain1,2" path="/distributed/job_chain1,2"><file_based file="C:/ProgramData/sos-berlin.com/jobscheduler/scheduler.1.12.oh/config/live/distributed/job_chain1,2.order.xml" last_write_time="2018-10-15T15:26:09.000Z" state="loaded"><requisites><requisite path="/distributed/job_chain1" type="Job_chain"/></requisites></file_based><log>2018-10-16 12:52:00.102+0200 [info]   SCHEDULER-891  Configuration file 'C:/ProgramData/sos-berlin.com/jobscheduler/scheduler.1.12.oh/config/live/distributed/job_chain1,2.order.xml' (2018-10-15 17:26:09.000+0200) is going to be be loaded into this new Standing_order
        </log></order>.
        org.postgresql.util.PSQLException: Unzulässiger Wert für den Typ long : <order at="2038-01-19 03:14:07.000Z" name="job_chain1,2" path="/distributed/job_chain1,2"><file_based file="C:/ProgramData/sos-berlin.com/jobscheduler/scheduler.1.12.oh/config/live/distributed/job_chain1,2.order.xml" last_write_time="2018-10-15T15:26:09.000Z" state="loaded"><requisites><requisite path="/distributed/job_chain1" type="Job_chain"/></requisites></file_based><log>2018-10-16 12:52:00.102+0200 [info]   SCHEDULER-891  Configuration file 'C:/ProgramData/sos-berlin.com/jobscheduler/scheduler.1.12.oh/config/live/distributed/job_chain1,2.order.xml' (2018-10-15 17:26:09.000+0200) is going to be be loaded into this new Standing_order
        </log></order>.
        	at org.postgresql.jdbc.PgResultSet.toLong(PgResultSet.java:2863)
        	at org.postgresql.jdbc.PgResultSet.getLong(PgResultSet.java:2085)
        	at org.postgresql.jdbc.PgResultSet.getClob(PgResultSet.java:477)
        	at org.postgresql.jdbc.PgResultSet.getClob(PgResultSet.java:463)
        	at com.zaxxer.hikari.pool.HikariProxyResultSet.getClob(HikariProxyResultSet.java)
        	at com.sos.scheduler.engine.kernel.order.DatabaseOrders$$anonfun$com$sos$scheduler$engine$kernel$order$DatabaseOrders$$fetchDistributedOrderStatistics$1.apply(DatabaseOrders.scala:86)
        	at com.sos.scheduler.engine.kernel.order.DatabaseOrders$$anonfun$com$sos$scheduler$engine$kernel$order$DatabaseOrders$$fetchDistributedOrderStatistics$1.apply(DatabaseOrders.scala:81)
        	at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:167)
        	at scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:3640)
        	at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:165)
        	at scala.concurrent.package$.blocking(package.scala:123)
        	at com.sos.scheduler.engine.kernel.order.DatabaseOrders$.com$sos$scheduler$engine$kernel$order$DatabaseOrders$$fetchDistributedOrderStatistics(DatabaseOrders.scala:81)
        	at com.sos.scheduler.engine.kernel.order.DatabaseOrders$$anonfun$fetchDistributedOrderStatistics$1.apply(DatabaseOrders.scala:77)
        	at com.sos.scheduler.engine.kernel.order.DatabaseOrders$$anonfun$fetchDistributedOrderStatistics$1.apply(DatabaseOrders.scala:75)
        	at com.sos.scheduler.engine.common.scalautil.AutoClosing$$anonfun$1.apply(AutoClosing.scala:26)
        	at com.sos.scheduler.engine.common.scalautil.AutoClosing$.closeOnError(AutoClosing.scala:34)
        	at com.sos.scheduler.engine.common.scalautil.AutoClosing$.autoClosing(AutoClosing.scala:25)
        	at com.sos.scheduler.engine.kernel.order.DatabaseOrders$.fetchDistributedOrderStatistics(DatabaseOrders.scala:75)
        	at com.sos.scheduler.engine.kernel.order.OrderSubsystem$$anonfun$fetchDistributedOrderStatistics$1.apply(OrderSubsystem.scala:109)
        	at com.sos.scheduler.engine.kernel.order.OrderSubsystem$$anonfun$fetchDistributedOrderStatistics$1.apply(OrderSubsystem.scala:108)
        	at com.sos.scheduler.engine.kernel.database.JdbcConnectionPool$$anonfun$readOnly$1.apply(JdbcConnectionPool.scala:29)
        	at com.sos.scheduler.engine.kernel.database.JdbcConnectionPool$$anonfun$readOnly$1.apply(JdbcConnectionPool.scala:27)
        	at com.sos.scheduler.engine.kernel.database.JdbcConnectionPool$$anonfun$future$1$$anonfun$apply$1.apply(JdbcConnectionPool.scala:36)
        	at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread$$anon$3.block(ThreadPoolBuilder.scala:167)
        	at scala.concurrent.forkjoin.ForkJoinPool.managedBlock(ForkJoinPool.java:3640)
        	at akka.dispatch.MonitorableThreadFactory$AkkaForkJoinWorkerThread.blockOn(ThreadPoolBuilder.scala:165)
        	at scala.concurrent.package$.blocking(package.scala:123)
        	at com.sos.scheduler.engine.kernel.database.JdbcConnectionPool$$anonfun$future$1.apply(JdbcConnectionPool.scala:34)
        	at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
        	at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
        	at com.sos.scheduler.engine.common.concurrent.ThrottledExecutionContext$$anon$2.run(ThrottledExecutionContext.scala:33)
        	at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
        	at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)
        	at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        	at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        	at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
        
      • In the above error message the order is permanent, however, the same error is raised if an ad hoc order is added to the distributed job chain.

      Desired Behavior

      • The web service /api/order?return=JocOrderStatistics should not fail with an error when used with distributed orders.

        Attachments

          Activity

            People

            • Assignee:
              jz Joacim Zschimmer
              Reporter:
              oh Oliver Haufe
              Approver:
              Oliver Haufe
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: