[ https://issues.apache.org/jira/browse/OAK-7194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig updated OAK-7194: ------------------------------- Issue Type: Improvement (was: Bug) > Threads are going in blocked state - OAK segment > ------------------------------------------------ > > Key: OAK-7194 > URL: https://issues.apache.org/jira/browse/OAK-7194 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: segment-tar > Affects Versions: 1.6.2 > Reporter: Kshitiz Garg > Priority: Critical > > We are using AEM and it internally is using OAK 1.6.2. Our application is > going to a choked state many a times. Our thread dump analysis is always > pointing to this stack trace with many blocked threads. Is it a known issue? > Or is there a setting to avoid it? We are using tar files based repository > underneath and are using default settings: > > {noformat} > - nativeId:0x1208 - state:BLOCKED > stackTrace: > java.lang.Thread.State: BLOCKED (on object monitor) > at org.apache.jackrabbit.oak.segment.SegmentId.getSegment(SegmentId.java:121) > - waiting to lock <0x0000000414d8c250> (a > org.apache.jackrabbit.oak.segment.SegmentId) > at org.apache.jackrabbit.oak.segment.Record.getSegment(Record.java:70) > at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:160) > at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:192) > at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:192) > at org.apache.jackrabbit.oak.segment.MapRecord.getEntry(MapRecord.java:192) > at > org.apache.jackrabbit.oak.segment.SegmentNodeState.getChildNode(SegmentNodeState.java:412) > at > org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree.createChild(ImmutableTree.java:125) > at > org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree.getChild(ImmutableTree.java:176) > at > org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree.getChild(ImmutableTree.java:81) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionUtil.getPrincipalRoot(PermissionUtil.java:83) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionStoreImpl.getPrincipalRoot(PermissionStoreImpl.java:132) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionStoreImpl.getNumEntries(PermissionStoreImpl.java:103) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryCache.getNumEntries(PermissionEntryCache.java:102) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryProviderImpl.init(PermissionEntryProviderImpl.java:79) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionEntryProviderImpl.<init>(PermissionEntryProviderImpl.java:72) > at > org.apache.jackrabbit.oak.security.authorization.permission.CompiledPermissionImpl.<init>(CompiledPermissionImpl.java:112) > at > org.apache.jackrabbit.oak.security.authorization.permission.CompiledPermissionImpl.create(CompiledPermissionImpl.java:126) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionProviderImpl.getCompiledPermissions(PermissionProviderImpl.java:162) > at > org.apache.jackrabbit.oak.security.authorization.permission.PermissionProviderImpl.getTreePermission(PermissionProviderImpl.java:151) > at > org.apache.jackrabbit.oak.security.authorization.composite.CompositeTreePermission.create(CompositeTreePermission.java:67) > at > org.apache.jackrabbit.oak.security.authorization.composite.CompositePermissionProvider.getTreePermission(CompositePermissionProvider.java:147) > at > org.apache.jackrabbit.oak.core.SecureNodeBuilder.getTreePermission(SecureNodeBuilder.java:357) > at > org.apache.jackrabbit.oak.core.SecureNodeBuilder.getTreePermission(SecureNodeBuilder.java:360) > at > org.apache.jackrabbit.oak.core.SecureNodeBuilder.getTreePermission(SecureNodeBuilder.java:360) > at > org.apache.jackrabbit.oak.core.SecureNodeBuilder.access$100(SecureNodeBuilder.java:49) > at > org.apache.jackrabbit.oak.core.SecureNodeBuilder$ReadablePropertyPredicate.apply(SecureNodeBuilder.java:377) > at > org.apache.jackrabbit.oak.core.SecureNodeBuilder.getProperty(SecureNodeBuilder.java:184) > at > org.apache.jackrabbit.oak.plugins.tree.impl.AbstractTree.getProperty(AbstractTree.java:249) > at > org.apache.jackrabbit.oak.core.MutableTree.getProperty(MutableTree.java:128) > at > org.apache.jackrabbit.oak.util.TreeUtil.getStringInternal(TreeUtil.java:108) > at org.apache.jackrabbit.oak.util.TreeUtil.getString(TreeUtil.java:101) > at > org.apache.jackrabbit.oak.namepath.GlobalNameMapper.getNamespacesProperty(GlobalNameMapper.java:191) > at > org.apache.jackrabbit.oak.namepath.GlobalNameMapper.getOakURIOrNull(GlobalNameMapper.java:187) > - eliminated <0x000000070c692f50> (a > org.apache.jackrabbit.oak.jcr.session.SessionNamespaces) > at > org.apache.jackrabbit.oak.jcr.session.SessionNamespaces.getNamespaceURI(SessionNamespaces.java:128) > - locked <0x000000070c692f50> (a > org.apache.jackrabbit.oak.jcr.session.SessionNamespaces) > at > org.apache.jackrabbit.oak.jcr.session.SessionImpl.getNamespaceURI(SessionImpl.java:738) > at > com.adobe.granite.repository.impl.CRX3SessionImpl.getNamespaceURI(CRX3SessionImpl.java:283) > at > org.apache.sling.resourceresolver.impl.JcrNamespaceMangler.unmangleNamespaces(JcrNamespaceMangler.java:97) > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.unmangleNamespaces(ResourceResolverImpl.java:1109) > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.resolveInternal(ResourceResolverImpl.java:263) > at > org.apache.sling.resourceresolver.impl.ResourceResolverImpl.resolve(ResourceResolverImpl.java:250) > at > org.apache.sling.engine.impl.request.RequestData.initResource(RequestData.java:252) > at > org.apache.sling.engine.impl.SlingRequestProcessorImpl.doProcessRequest(SlingRequestProcessorImpl.java:140) > at > org.apache.sling.engine.impl.SlingMainServlet.service(SlingMainServlet.java:219) > at > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:85) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:79) > at > com.adobe.granite.license.impl.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:308) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:96) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.sling.security.impl.ReferrerFilter.doFilter(ReferrerFilter.java:295) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:138) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.sling.featureflags.impl.FeatureManager.doFilter(FeatureManager.java:116) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.sling.engine.impl.log.RequestLoggerFilter.doFilter(RequestLoggerFilter.java:72) > at > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:135) > at > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:74) > at > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:128) > at > org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812) > at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:499) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > at java.lang.Thread.run(Thread.java:748) > Locked ownable synchronizers: > - None > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)