MOBIN created ZEPPELIN-4286:
-------------------------------

             Summary: Notebook loading slowly
                 Key: ZEPPELIN-4286
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-4286
             Project: Zeppelin
          Issue Type: Bug
          Components: zeppelin-server
    Affects Versions: 0.8.0
            Reporter: MOBIN
         Attachments: 201907311750pid.log

When users use zeppelin, the following happens:
 Some users can't open a notebook or load a notebook slowly 【Not due to too 
much output from the notebook, the is a simple notebook, and cleaning the 
browser cache is useless】
 jstack logs has a lot of BLOCKED Threads【has 139 BLOCKED Threads】
 The key threads message are as follows:
----------jstack log-----------
 "qtp403716510-56896" #56896 prio=5 os_prio=0 tid=0x00007fdd74001000 
nid=0x20a49 waiting for monitor entry [0x00007fda4f85a000]
 java.lang.Thread.State: BLOCKED (on object monitor)
 at 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.getClient(RemoteInterpreterProcess.java:59)
 - waiting to lock <{color:#d04437}0x0000000614600178{color}> (a 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess)
 at 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.callRemoteFunction(RemoteInterpreterProcess.java:133)
 at 
org.apache.zeppelin.interpreter.InterpreterSettingManager.getAllResourcesExcept(InterpreterSettingManager.java:531)
 at 
org.apache.zeppelin.interpreter.InterpreterSettingManager.getAllResources(InterpreterSettingManager.java:513)
 at org.apache.zeppelin.helium.Helium.suggestApp(Helium.java:361)
 at org.apache.zeppelin.rest.HeliumRestApi.suggest(HeliumRestApi.java:123)
 at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)
 at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
 at 
org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$$Lambda$138/598551831.invoke(Unknown
 Source)
 at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
 at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
 at 
org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
 at 
org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
 at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
 at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
 at 
org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
 at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
 at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
 at org.glassfish.jersey.internal.Errors.process(Errors.java:316)

"qtp403716510-56677" #56677 prio=5 os_prio=0 tid=0x00007fdec4014800 nid=0x360da 
waiting on condition [0x00007fda4ef51000]
 java.lang.Thread.State: WAITING (parking)
 at sun.misc.Unsafe.park(Native Method)
 - parking to wait for <0x0000000614202068> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
 at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
 at 
org.apache.commons.pool2.impl.LinkedBlockingDeque.{color:#d04437}takeFirst{color}(LinkedBlockingDeque.java:583)
 at 
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:442)
 at 
org.apache.commons.pool2.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:363)
 at 
{color:#d04437}org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.getClient(RemoteInterpreterProcess.java:62){color}
 - locked <{color:#d04437}0x0000000614600178{color}> (a 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterManagedProcess)
 at 
org.apache.zeppelin.interpreter.remote.RemoteInterpreterProcess.callRemoteFunction(RemoteInterpreterProcess.java:133)
 at 
org.apache.zeppelin.interpreter.InterpreterSettingManager.getAllResourcesExcept(InterpreterSettingManager.java:531)
 at 
org.apache.zeppelin.interpreter.InterpreterSettingManager.getAllResources(InterpreterSettingManager.java:513)
 at org.apache.zeppelin.helium.Helium.suggestApp(Helium.java:361)
 at org.apache.zeppelin.rest.HeliumRestApi.suggest(HeliumRestApi.java:123)
 at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)

There are 139 blocking threads waiting for the 
{color:#d04437}0x0000000614600178{color} lock, but the qtp403716510-56677 
thread is occupying {color:#d04437}0x0000000614600178,{color} and the thread 
has taken the takeFirst method?

 

I want to be able to set a timeout parameter for the GenericObjectPool object 
clientPool? 
clientPool.setMaxWaitMillis(6000L); 
I don't know if it can be solved?



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to