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)