[ 
https://issues.apache.org/jira/browse/MAPREDUCE-6797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15648265#comment-15648265
 ] 

Hadoop QA commented on MAPREDUCE-6797:
--------------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
| {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 17s 
{color} | {color:blue} Docker mode activated. {color} |
| {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s 
{color} | {color:green} The patch does not contain any @author tags. {color} |
| {color:red}-1{color} | {color:red} test4tests {color} | {color:red} 0m 0s 
{color} | {color:red} The patch doesn't appear to include any new or modified 
tests. Please justify why no new tests are needed for this patch. Also please 
list what manual steps were performed to verify this patch. {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 7m 
15s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 19s 
{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
16s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 25s 
{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
16s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 
31s {color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 15s 
{color} | {color:green} trunk passed {color} |
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 
19s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 17s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 
13s {color} | {color:green} 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs: 
The patch generated 0 new + 14 unchanged - 2 fixed = 14 total (was 16) {color} |
| {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 22s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} mvneclipse {color} | {color:green} 0m 
12s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 
0s {color} | {color:green} The patch has no whitespace issues. {color} |
| {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 0m 
38s {color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 11s 
{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} unit {color} | {color:green} 3m 13s 
{color} | {color:green} hadoop-mapreduce-client-hs in the patch passed. {color} 
|
| {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 
14s {color} | {color:green} The patch does not generate ASF License warnings. 
{color} |
| {color:black}{color} | {color:black} {color} | {color:black} 15m 51s {color} 
| {color:black} {color} |
\\
\\
|| Subsystem || Report/Notes ||
| Docker |  Image:yetus/hadoop:e809691 |
| JIRA Patch URL | 
https://issues.apache.org/jira/secure/attachment/12838018/0004-MAPREDUCE-6797.patch
 |
| JIRA Issue | MAPREDUCE-6797 |
| Optional Tests |  asflicense  compile  javac  javadoc  mvninstall  mvnsite  
unit  findbugs  checkstyle  |
| uname | Linux 7f2adaed76e0 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 
20:42:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh 
|
| git revision | trunk / dbb133c |
| Default Java | 1.8.0_101 |
| findbugs | v3.0.0 |
|  Test Results | 
https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/6803/testReport/ |
| modules | C: 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs U: 
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-hs |
| Console output | 
https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/6803/console |
| Powered by | Apache Yetus 0.3.0   http://yetus.apache.org |


This message was automatically generated.



> Job history server scans can become blocked on a single, slow entry
> -------------------------------------------------------------------
>
>                 Key: MAPREDUCE-6797
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-6797
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobhistoryserver
>    Affects Versions: 2.4.0, 2.8.0
>            Reporter: Prabhu Joseph
>            Assignee: Prabhu Joseph
>            Priority: Critical
>             Fix For: 2.9.0
>
>         Attachments: 0001-MAPREDUCE-6797.patch, 0002-MAPREDUCE-6797.patch, 
> 0003-MAPREDUCE-6797.patch, 0004-MAPREDUCE-6797.patch, jstack
>
>
> There is one more piece of code in HistoryFileManager where Synchronized 
> keyword on HistoryFileInfo need to be removed. The JobHistoryServer 
> contention issue is hit on our environment where stacktrace (attached) shows 
> the HistoryFileManager$JobListCache.addIfAbsent unnecessarily waiting to lock 
> on HistoryFileInfo.
> Synchronized on isMovePending and didMoveFail has been removed by 
> Mapreduce-6684.
> {code}
> HistoryFileInfo firstValue = cache.get(key);
>     synchronized(firstValue) {  ---------------> Synchronized is not needed 
> here
>               if (firstValue.isMovePending()) {
>                 if(firstValue.didMoveFail() && 
>                     firstValue.jobIndexInfo.getFinishTime() <= cutoff) {
>                   cache.remove(key);
>                   //Now lets try to delete it
>                   try {
>                     firstValue.delete();
>                   } catch (IOException e) {
>                     LOG.error("Error while trying to delete history files" +
>                     " that could not be moved to done.", e);
>                   }
>                 } else {
>                   LOG.warn("Waiting to remove " + key
>                       + " from JobListCache because it is not in done yet.");
>                 }
>               } else {
>                 cache.remove(key);
>               }
>             }
> {code}
> {code}
> Note: stacktrace is from hadoop-2.4.0 version and the problem exists in 
> latest hadoop as well
> "2144820863@qtp-313351300-38156" daemon prio=10 tid=0x0000000001e13800 
> nid=0xf133 waiting for monitor entry [0x00007f7c1d8dd000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$JobListCache.addIfAbsent(HistoryFileManager.java:226)
>         - waiting to lock <0x000000040145c4d8> (a 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$HistoryFileInfo)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager.scanIntermediateDirectory(HistoryFileManager.java:825)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager.access$200(HistoryFileManager.java:82)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$UserLogDir.scanIfNeeded(HistoryFileManager.java:280)
>         - locked <0x0000000400375388> (a 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager$UserLogDir)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager.scanIntermediateDirectory(HistoryFileManager.java:792)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.HistoryFileManager.getAllFileInfo(HistoryFileManager.java:920)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.CachedHistoryStorage.getAllPartialJobs(CachedHistoryStorage.java:156)
>         at 
> org.apache.hadoop.mapreduce.v2.hs.JobHistory.getAllJobs(JobHistory.java:235)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org

Reply via email to