[ 
https://issues.apache.org/jira/browse/ARIES-1990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

nizar.ben.mansour updated ARIES-1990:
-------------------------------------
    Description: 
Hello,

in BlueprintEventDispatcher ,we have 60 second as timeout .This will apply when 
starting a bundle.

 
{code:java}
private void callListener(final BlueprintListener listener, final 
BlueprintEvent event) throws RejectedExecutionException {
 try {
 executor.invokeAny(Collections.<Callable<Void>>singleton(new Callable<Void>() {
 public Void call() throws Exception {
 listener.blueprintEvent(event);
 return null;
 }
 }), 60L, TimeUnit.SECONDS);
 } catch (InterruptedException ie) {
 LOGGER.warn("Thread interrupted", ie);
 Thread.currentThread().interrupt();
 } catch (TimeoutException te) {
 LOGGER.warn("Listener timed out, will be ignored", te);
 listeners.remove(listener);
 } catch (ExecutionException ee) {
 LOGGER.warn("Listener caused an exception, will be ignored", ee);
 listeners.remove(listener);
 }
 }{code}
 

 

We are having an issue that results in a warning for a 
java.util.concurrent.TimeoutException.

 
{code:java}
2020-07-21T11:58:00,852 | DEBUG | ActiveMQ InactivityMonitor Worker | 
AbstractInactivityMonitor        | 97 - org.apache.activemq.activemq-osgi - 
5.15.9 | Running WriteCheck[tcp://10.68.248.156:61616]2020-07-21T11:58:00,852 | 
DEBUG | ActiveMQ InactivityMonitor Worker | AbstractInactivityMonitor        | 
97 - org.apache.activemq.activemq-osgi - 5.15.9 | Running 
WriteCheck[tcp://10.68.248.156:61616]2020-07-21T11:58:00,853 | DEBUG | 
HikariPool-2 housekeeper | HikariPool                       | 63 - 
com.zaxxer.HikariCP - 2.4.11 | HikariPool-2 - Pool stats (total=10, active=0, 
idle=10, waiting=0)2020-07-21T11:58:01,878 | WARN  | FelixStartLevel  | 
BlueprintEventDispatcher         | 100 - org.apache.aries.blueprint.core - 
1.10.2 | Listener timed out, will be 
ignoredjava.util.concurrent.TimeoutException: null at 
java.util.concurrent.AbstractExecutorService.doInvokeAny(AbstractExecutorService.java:184)
 ~[?:?] at 
java.util.concurrent.AbstractExecutorService.invokeAny(AbstractExecutorService.java:225)
 ~[?:?] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$4.call(ScheduledExecutorServiceWrapper.java:185)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$15.call(ScheduledExecutorServiceWrapper.java:446)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.RWLock.runReadOperation(RWLock.java:33)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.runUnlessShutdown(ScheduledExecutorServiceWrapper.java:443)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.invokeAny(ScheduledExecutorServiceWrapper.java:180)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListener(BlueprintEventDispatcher.java:188)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListeners(BlueprintEventDispatcher.java:178)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.blueprintEvent(BlueprintEventDispatcher.java:133)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:447)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)
 [?:?] at 
org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
 [?:?] at 
org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
 [?:?] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) 
[?:?] at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) [?:?] at 
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373) [?:?] at 
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
 [?:?] at java.lang.Thread.run(Thread.java:748) [?:?]2020-07-21T11:58:01,884 | 
DEBUG | FelixStartLevel  | BlueprintContainerImpl           | 100 - 
org.apache.aries.blueprint.core - 1.10.2 | Running container for blueprint 
bundle m2m-common-impl/2.0.59 in state Created{code}
 

Can we just make this value configurable by using like one 
karaf.startlevel.bundle for example?

  was:
Hello,

in BlueprintEventDispatcher ,we have 60 second as timeout .This will apply when 
starting a bundle.

 
{code:java}
private void callListener(final BlueprintListener listener, final 
BlueprintEvent event) throws RejectedExecutionException {
 try {
 executor.invokeAny(Collections.<Callable<Void>>singleton(new Callable<Void>() {
 public Void call() throws Exception {
 listener.blueprintEvent(event);
 return null;
 }
 }), 60L, TimeUnit.SECONDS);
 } catch (InterruptedException ie) {
 LOGGER.warn("Thread interrupted", ie);
 Thread.currentThread().interrupt();
 } catch (TimeoutException te) {
 LOGGER.warn("Listener timed out, will be ignored", te);
 listeners.remove(listener);
 } catch (ExecutionException ee) {
 LOGGER.warn("Listener caused an exception, will be ignored", ee);
 listeners.remove(listener);
 }
 }{code}
 

 

We are having an issue that results in a warning for a timeoutexception.

 
{code:java}
2020-07-21T11:58:00,852 | DEBUG | ActiveMQ InactivityMonitor Worker | 
AbstractInactivityMonitor        | 97 - org.apache.activemq.activemq-osgi - 
5.15.9 | Running WriteCheck[tcp://10.68.248.156:61616]2020-07-21T11:58:00,852 | 
DEBUG | ActiveMQ InactivityMonitor Worker | AbstractInactivityMonitor        | 
97 - org.apache.activemq.activemq-osgi - 5.15.9 | Running 
WriteCheck[tcp://10.68.248.156:61616]2020-07-21T11:58:00,853 | DEBUG | 
HikariPool-2 housekeeper | HikariPool                       | 63 - 
com.zaxxer.HikariCP - 2.4.11 | HikariPool-2 - Pool stats (total=10, active=0, 
idle=10, waiting=0)2020-07-21T11:58:01,878 | WARN  | FelixStartLevel  | 
BlueprintEventDispatcher         | 100 - org.apache.aries.blueprint.core - 
1.10.2 | Listener timed out, will be 
ignoredjava.util.concurrent.TimeoutException: null at 
java.util.concurrent.AbstractExecutorService.doInvokeAny(AbstractExecutorService.java:184)
 ~[?:?] at 
java.util.concurrent.AbstractExecutorService.invokeAny(AbstractExecutorService.java:225)
 ~[?:?] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$4.call(ScheduledExecutorServiceWrapper.java:185)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$15.call(ScheduledExecutorServiceWrapper.java:446)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.RWLock.runReadOperation(RWLock.java:33)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.runUnlessShutdown(ScheduledExecutorServiceWrapper.java:443)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.invokeAny(ScheduledExecutorServiceWrapper.java:180)
 ~[100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListener(BlueprintEventDispatcher.java:188)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListeners(BlueprintEventDispatcher.java:178)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintEventDispatcher.blueprintEvent(BlueprintEventDispatcher.java:133)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:447)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
 [100:org.apache.aries.blueprint.core:1.10.2] at 
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)
 [?:?] at 
org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
 [?:?] at 
org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
 [?:?] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) 
[?:?] at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) [?:?] at 
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373) [?:?] at 
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
 [?:?] at java.lang.Thread.run(Thread.java:748) [?:?]2020-07-21T11:58:01,884 | 
DEBUG | FelixStartLevel  | BlueprintContainerImpl           | 100 - 
org.apache.aries.blueprint.core - 1.10.2 | Running container for blueprint 
bundle m2m-common-impl/2.0.59 in state Created{code}
 

Can we just make this value configurable by using like one 
karaf.startlevel.bundle for example?


> Hardcoded starting bundle timeout to 60 second
> ----------------------------------------------
>
>                 Key: ARIES-1990
>                 URL: https://issues.apache.org/jira/browse/ARIES-1990
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-1.10.2
>            Reporter: nizar.ben.mansour
>            Priority: Critical
>
> Hello,
> in BlueprintEventDispatcher ,we have 60 second as timeout .This will apply 
> when starting a bundle.
>  
> {code:java}
> private void callListener(final BlueprintListener listener, final 
> BlueprintEvent event) throws RejectedExecutionException {
>  try {
>  executor.invokeAny(Collections.<Callable<Void>>singleton(new 
> Callable<Void>() {
>  public Void call() throws Exception {
>  listener.blueprintEvent(event);
>  return null;
>  }
>  }), 60L, TimeUnit.SECONDS);
>  } catch (InterruptedException ie) {
>  LOGGER.warn("Thread interrupted", ie);
>  Thread.currentThread().interrupt();
>  } catch (TimeoutException te) {
>  LOGGER.warn("Listener timed out, will be ignored", te);
>  listeners.remove(listener);
>  } catch (ExecutionException ee) {
>  LOGGER.warn("Listener caused an exception, will be ignored", ee);
>  listeners.remove(listener);
>  }
>  }{code}
>  
>  
> We are having an issue that results in a warning for a 
> java.util.concurrent.TimeoutException.
>  
> {code:java}
> 2020-07-21T11:58:00,852 | DEBUG | ActiveMQ InactivityMonitor Worker | 
> AbstractInactivityMonitor        | 97 - org.apache.activemq.activemq-osgi - 
> 5.15.9 | Running WriteCheck[tcp://10.68.248.156:61616]2020-07-21T11:58:00,852 
> | DEBUG | ActiveMQ InactivityMonitor Worker | AbstractInactivityMonitor       
>  | 97 - org.apache.activemq.activemq-osgi - 5.15.9 | Running 
> WriteCheck[tcp://10.68.248.156:61616]2020-07-21T11:58:00,853 | DEBUG | 
> HikariPool-2 housekeeper | HikariPool                       | 63 - 
> com.zaxxer.HikariCP - 2.4.11 | HikariPool-2 - Pool stats (total=10, active=0, 
> idle=10, waiting=0)2020-07-21T11:58:01,878 | WARN  | FelixStartLevel  | 
> BlueprintEventDispatcher         | 100 - org.apache.aries.blueprint.core - 
> 1.10.2 | Listener timed out, will be 
> ignoredjava.util.concurrent.TimeoutException: null at 
> java.util.concurrent.AbstractExecutorService.doInvokeAny(AbstractExecutorService.java:184)
>  ~[?:?] at 
> java.util.concurrent.AbstractExecutorService.invokeAny(AbstractExecutorService.java:225)
>  ~[?:?] at 
> org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$4.call(ScheduledExecutorServiceWrapper.java:185)
>  ~[100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper$15.call(ScheduledExecutorServiceWrapper.java:446)
>  ~[100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.utils.threading.RWLock.runReadOperation(RWLock.java:33)
>  ~[100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.runUnlessShutdown(ScheduledExecutorServiceWrapper.java:443)
>  ~[100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.utils.threading.ScheduledExecutorServiceWrapper.invokeAny(ScheduledExecutorServiceWrapper.java:180)
>  ~[100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListener(BlueprintEventDispatcher.java:188)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintEventDispatcher.callListeners(BlueprintEventDispatcher.java:178)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintEventDispatcher.blueprintEvent(BlueprintEventDispatcher.java:133)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:447)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)
>  [100:org.apache.aries.blueprint.core:1.10.2] at 
> org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)
>  [?:?] at 
> org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
>  [?:?] at 
> org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
>  [?:?] at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4579) 
> [?:?] at org.apache.felix.framework.Felix.startBundle(Felix.java:2174) [?:?] 
> at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373) 
> [?:?] at 
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
>  [?:?] at java.lang.Thread.run(Thread.java:748) [?:?]2020-07-21T11:58:01,884 
> | DEBUG | FelixStartLevel  | BlueprintContainerImpl           | 100 - 
> org.apache.aries.blueprint.core - 1.10.2 | Running container for blueprint 
> bundle m2m-common-impl/2.0.59 in state Created{code}
>  
> Can we just make this value configurable by using like one 
> karaf.startlevel.bundle for example?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to