Hitachi Vantara Pentaho Community Forums
Results 1 to 1 of 1

Thread: OSGI initialization hangs kitchen on startup

  1. #1
    Join Date
    Dec 2016

    Default OSGI initialization hangs kitchen on startup


    We're having issues running Pentaho jobs in production. We recently deployed our first Pentaho job to production and ran it successfully using kitchen. A few days later we tried to run the same job and kitchen hung before even attempting to run the job. The thread dump and logs suggest that it's waiting indefinitely for an OSGI callback (a delayed service notifier) to release the OSGI initialization worker thread ("ExecutorUtil thread 2" below). We've not been able to reproduce this in our lower environments. The only difference between our lower environments and production is the hardware: production has a bit more memory and slightly faster CPUs (but same number of cores).

    To rule out our job we tried using other jobs including the sample jobs that ship with Pentaho and the result is always the same. Here's the relevant portion of the thread dump:
    "ExecutorUtil thread 2" #20 daemon prio=5 os_prio=0 tid=0x00007f84f132c000 nid=0x19ec waiting on condition [0x00007f852452d000]
       java.lang.Thread.State: WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x0000000080c06030> (a java.util.concurrent.CountDownLatch$Sync)
            at java.util.concurrent.locks.LockSupport.park(
            at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(
            at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(
            at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(
            at java.util.concurrent.CountDownLatch.await(
            at org.pentaho.platform.servicecoordination.impl.BaseCountdownLatchLifecycleManager.notifyListenersAndWait(
            at org.pentaho.platform.servicecoordination.impl.BaseCountdownLatchLifecycleManager.setPhaseAndWait(
            - locked <0x0000000080c05ef8> (a org.pentaho.di.osgi.KettlePhaseLifecycleManager)
            at org.pentaho.di.osgi.KettleLifeCycleAdapter.onEnvironmentInit(
            at org.pentaho.di.core.lifecycle.KettleLifecycleSupport.onEnvironmentInit(
            at org.pentaho.di.core.lifecycle.KettleLifecycleSupport.onEnvironmentInit(
            at org.pentaho.di.core.KettleEnvironment.initLifecycleListeners(
            at org.pentaho.di.core.KettleEnvironment.init(
            at org.pentaho.di.core.KettleEnvironment.init(
            at java.util.concurrent.ThreadPoolExecutor.runWorker(
            at java.util.concurrent.ThreadPoolExecutor$
    We have found that removing kettle-lifecycle-listeners.xml and kettle-registry-extensions.xml in the classes directories prevents the issue and allows the job to run successfully. This seems acceptable as a short-term workaound as we're not yet using the big data plugins but wondering if this is a bug. But I can't explain why our job worked the first time we ran it and then after that it always hangs.

    I've attached a log with DEBUG level set. You can see that the last entry is "About to start waiting on delayed service notifiers". The event in the DelayedServiceNotifierListener on line 171 of KarafLifecycleListener is never accepted as based on the fact that the message "Done waiting on delayed service notifiers" is never logged.

    Version: pdi-ce-
    OS: Linux
    Java: 1.8.0_91

    Any suggestions for other things to look at? Should I file a bug report?

    Attached Files Attached Files

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.