Uploaded image for project: 'infrautils'
  1. infrautils
  2. INFRAUTILS-58

JobCoordinator does not retain Thread Context Class Loader

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Medium Medium
    • Neon
    • None
    • jobcoordinator
    • None

      As shown in https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/genius-csit-1node-upstream-all-neon/68/odl_1/odl1_karaf.log.gz , indirecting access to the datastore via JobCoordinator means that the binding code executes in a different class loder - hence augmentations cannot be located:

      2018-10-14T13:08:13,950 | ERROR | jobcoordinator-main-task-2 | JobCoordinatorImpl               | 335 - org.opendaylight.infrautils.jobcoordinator-impl - 1.5.0.SNAPSHOT | Direct Exception (not failed Future) when executing job, won't even retry: JobEntry{key='default-transport-zone', mainWorker=org.opendaylight.genius.itm.confighelpers.ItmMonitorIntervalWorker@51560836, rollbackWorker=null, retryCount=0/3, futures=null}
      org.opendaylight.mdsal.binding.dom.codec.impl.IncorrectNestingException: Class interface org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.rev160406.IfTunnel is not valid child of interface org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.Interface
      	at org.opendaylight.mdsal.binding.dom.codec.impl.IncorrectNestingException.create(IncorrectNestingException.java:25) ~[?:?]
      	at org.opendaylight.mdsal.binding.dom.codec.impl.DataContainerCodecContext.childNonNull(DataContainerCodecContext.java:165) ~[?:?]
      	at org.opendaylight.mdsal.binding.dom.codec.impl.DataObjectCodecContext.bindingPathArgumentChild(DataObjectCodecContext.java:185) ~[?:?]
      	at org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:133) ~[?:?]
      	at org.opendaylight.mdsal.binding.dom.codec.impl.BindingCodecContext.newWriter(BindingCodecContext.java:110) ~[?:?]
      	at org.opendaylight.mdsal.binding.dom.codec.impl.BindingNormalizedNodeCodecRegistry.toNormalizedNode(BindingNormalizedNodeCodecRegistry.java:112) ~[?:?]
      	at org.opendaylight.mdsal.binding.dom.adapter.BindingToNormalizedNodeCodec.toNormalizedNode(BindingToNormalizedNodeCodec.java:162) ~[?:?]
      	at org.opendaylight.controller.md.sal.binding.impl.AbstractWriteTransaction.merge(AbstractWriteTransaction.java:51) ~[?:?]
      	at org.opendaylight.controller.md.sal.binding.impl.BindingDOMWriteTransactionAdapter.merge(BindingDOMWriteTransactionAdapter.java:40) ~[?:?]
      	at org.opendaylight.genius.itm.confighelpers.ItmMonitorIntervalWorker.toggle(ItmMonitorIntervalWorker.java:68) ~[?:?]
      	at org.opendaylight.genius.itm.confighelpers.ItmMonitorIntervalWorker.toggleTunnelMonitoring(ItmMonitorIntervalWorker.java:59) ~[?:?]
      	at org.opendaylight.genius.itm.confighelpers.ItmMonitorIntervalWorker.call(ItmMonitorIntervalWorker.java:46) ~[?:?]
      	at org.opendaylight.genius.itm.confighelpers.ItmMonitorIntervalWorker.call(ItmMonitorIntervalWorker.java:26) ~[?:?]
      	at org.opendaylight.infrautils.jobcoordinator.internal.JobCoordinatorImpl$MainTask.runWithUncheckedExceptionLogging(JobCoordinatorImpl.java:404) [335:org.opendaylight.infrautils.jobcoordinator-impl:1.5.0.SNAPSHOT]
      	at org.opendaylight.infrautils.utils.concurrent.LoggingUncaughtThreadDeathContextRunnable.run(LoggingUncaughtThreadDeathContextRunnable.java:60) [341:org.opendaylight.infrautils.util:1.5.0.SNAPSHOT]
      	at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402) [?:?]
      	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:?]
      	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:?]
      	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:?]
      	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) [?:?]

            vorburger Michael Vorburger
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: