[
https://issues.apache.org/jira/browse/HADOOP-10346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13901750#comment-13901750
]
Jason Lowe commented on HADOOP-10346:
-------------------------------------
Stack traces showing the deadlock. One thread has the Token class lock and is
trying to log a warning, while the other thread has the logger lock and is
trying to acquire the Token class lock.
{noformat}
"Thread-61":
at org.apache.hadoop.security.token.Token.getClassForIdentifier(Token.java:110)
- waiting to lock <0x00000000eebea800> (a java.lang.Class for
org.apache.hadoop.security.token.Token)
at org.apache.hadoop.security.token.Token.decodeIdentifier(Token.java:132)
at org.apache.hadoop.security.token.Token.identifierToString(Token.java:314)
at org.apache.hadoop.security.token.Token.toString(Token.java:334)
at org.apache.log4j.or.DefaultRenderer.doRender(DefaultRenderer.java:37)
at org.apache.log4j.or.RendererMap.findAndRender(RendererMap.java:80)
at org.apache.log4j.spi.LoggingEvent.getRenderedMessage(LoggingEvent.java:368)
at
org.apache.log4j.helpers.PatternParser$BasicPatternConverter.convert(PatternParser.java:402)
at org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:65)
at org.apache.log4j.PatternLayout.format(PatternLayout.java:506)
at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310)
at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
- locked <0x00000000ee9651c0> (a
org.apache.hadoop.mapred.TezContainerLogAppender)
at
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
at org.apache.log4j.Category.callAppenders(Category.java:206)
- locked <0x00000000ee959360> (a org.apache.log4j.spi.RootLogger)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:155)
at
org.apache.tez.dag.app.launcher.LocalContainerLauncher$2.run(LocalContainerLauncher.java:331)
at java.lang.Thread.run(Thread.java:744)
"Thread-62":
at org.apache.log4j.Category.callAppenders(Category.java:205)
- waiting to lock <0x00000000ee959360> (a org.apache.log4j.spi.RootLogger)
at org.apache.log4j.Category.forcedLog(Category.java:391)
at org.apache.log4j.Category.log(Category.java:856)
at org.apache.commons.logging.impl.Log4JLogger.warn(Log4JLogger.java:197)
at org.apache.hadoop.security.token.Token.getClassForIdentifier(Token.java:118)
- locked <0x00000000eebea800> (a java.lang.Class for
org.apache.hadoop.security.token.Token)
at org.apache.hadoop.security.token.Token.decodeIdentifier(Token.java:132)
at org.apache.hadoop.security.token.Token.identifierToString(Token.java:314)
at org.apache.hadoop.security.token.Token.toString(Token.java:334)
at java.lang.String.valueOf(String.java:2854)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at
org.apache.hadoop.security.SecurityUtil.setTokenService(SecurityUtil.java:360)
at
org.apache.tez.dag.app.launcher.LocalContainerLauncher$2.run(LocalContainerLauncher.java:347)
at java.lang.Thread.run(Thread.java:744)
{noformat}
> Deadlock while logging tokens
> -----------------------------
>
> Key: HADOOP-10346
> URL: https://issues.apache.org/jira/browse/HADOOP-10346
> Project: Hadoop Common
> Issue Type: Bug
> Components: security
> Affects Versions: 2.2.0
> Reporter: Jason Lowe
>
> Ran into a deadlock between two threads that were both wielding Tokens. One
> was trying to log a token while the other was trying to set the token service
> on a different token.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)