You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Haibo Chen (JIRA)" <ji...@apache.org> on 2018/06/04 16:20:00 UTC

[jira] [Updated] (YARN-8391) Investigate AllocationFileLoaderService.reloadListener locking issue

     [ https://issues.apache.org/jira/browse/YARN-8391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Haibo Chen updated YARN-8391:
-----------------------------
    Description: 
Per findbugs report in YARN-8390, there is some inconsistent locking of  reloadListener

 
h1. Warnings

Click on a warning row to see full context information.
h2. Multithreaded correctness Warnings
||Code||Warning||
|IS|Inconsistent synchronization of org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadListener; locked 75% of time|
| |[Bug type IS2_INCONSISTENT_SYNC (click for details)|https://builds.apache.org/job/PreCommit-YARN-Build/20939/artifact/out/new-findbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.html#IS2_INCONSISTENT_SYNC] 
In class org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService
Field org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadListener
Synchronized 75% of the time
Unsynchronized access at AllocationFileLoaderService.java:[line 117]
Synchronized access at AllocationFileLoaderService.java:[line 212]
Synchronized access at AllocationFileLoaderService.java:[line 228]
Synchronized access at AllocationFileLoaderService.java:[line 269]|
h1. Details
h2. IS2_INCONSISTENT_SYNC: Inconsistent synchronization

The fields of this class appear to be accessed inconsistently with respect to synchronization.  This bug report indicates that the bug pattern detector judged that
 * The class contains a mix of locked and unlocked accesses,
 * The class is *not* annotated as javax.annotation.concurrent.NotThreadSafe,
 * At least one locked access was performed by one of the class's own methods, and
 * The number of unsynchronized field accesses (reads and writes) was no more than one third of all accesses, with writes being weighed twice as high as reads

A typical bug matching this bug pattern is forgetting to synchronize one of the methods in a class that is intended to be thread-safe.

You can select the nodes labeled "Unsynchronized access" to show the code locations where the detector believed that a field was accessed without synchronization.

Note that there are various sources of inaccuracy in this detector; for example, the detector cannot statically detect all situations in which a lock is held.  Also, even when the detector is accurate in distinguishing locked vs. unlocked accesses, the code in question may still be correct.

  was:Per findbugs report in YARN-8390, there is some inconsistent locking of  reloadListener


> Investigate AllocationFileLoaderService.reloadListener locking issue
> --------------------------------------------------------------------
>
>                 Key: YARN-8391
>                 URL: https://issues.apache.org/jira/browse/YARN-8391
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: fairscheduler
>    Affects Versions: 3.2.0
>            Reporter: Haibo Chen
>            Priority: Critical
>
> Per findbugs report in YARN-8390, there is some inconsistent locking of  reloadListener
>  
> h1. Warnings
> Click on a warning row to see full context information.
> h2. Multithreaded correctness Warnings
> ||Code||Warning||
> |IS|Inconsistent synchronization of org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadListener; locked 75% of time|
> | |[Bug type IS2_INCONSISTENT_SYNC (click for details)|https://builds.apache.org/job/PreCommit-YARN-Build/20939/artifact/out/new-findbugs-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.html#IS2_INCONSISTENT_SYNC] 
> In class org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService
> Field org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.AllocationFileLoaderService.reloadListener
> Synchronized 75% of the time
> Unsynchronized access at AllocationFileLoaderService.java:[line 117]
> Synchronized access at AllocationFileLoaderService.java:[line 212]
> Synchronized access at AllocationFileLoaderService.java:[line 228]
> Synchronized access at AllocationFileLoaderService.java:[line 269]|
> h1. Details
> h2. IS2_INCONSISTENT_SYNC: Inconsistent synchronization
> The fields of this class appear to be accessed inconsistently with respect to synchronization.  This bug report indicates that the bug pattern detector judged that
>  * The class contains a mix of locked and unlocked accesses,
>  * The class is *not* annotated as javax.annotation.concurrent.NotThreadSafe,
>  * At least one locked access was performed by one of the class's own methods, and
>  * The number of unsynchronized field accesses (reads and writes) was no more than one third of all accesses, with writes being weighed twice as high as reads
> A typical bug matching this bug pattern is forgetting to synchronize one of the methods in a class that is intended to be thread-safe.
> You can select the nodes labeled "Unsynchronized access" to show the code locations where the detector believed that a field was accessed without synchronization.
> Note that there are various sources of inaccuracy in this detector; for example, the detector cannot statically detect all situations in which a lock is held.  Also, even when the detector is accurate in distinguishing locked vs. unlocked accesses, the code in question may still be correct.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org