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)