[
https://issues.apache.org/jira/browse/HDFS-11900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16410122#comment-16410122
]
Hudson commented on HDFS-11900:
-------------------------------
SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #13868 (See
[https://builds.apache.org/job/Hadoop-trunk-Commit/13868/])
HDFS-11900. Hedged reads thread pool creation not synchronized. (weichiu: rev
f738d75a86602353d48a810f46919e49d1c06ade)
* (edit)
hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
> Hedged reads thread pool creation not synchronized
> --------------------------------------------------
>
> Key: HDFS-11900
> URL: https://issues.apache.org/jira/browse/HDFS-11900
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: hdfs-client
> Affects Versions: 2.8.0
> Reporter: John Zhuge
> Assignee: John Zhuge
> Priority: Major
> Fix For: 3.2.0
>
> Attachments: HDFS-11900.001.patch
>
>
> *Non-static* synchronized method initThreadsNumForHedgedReads can't
> synchronize the access to the *static* class variable HEDGED_READ_THREAD_POOL.
> {code}
> private static ThreadPoolExecutor HEDGED_READ_THREAD_POOL;
> ...
> private synchronized void initThreadsNumForHedgedReads(int num) {
> {code}
> 2 DFS clients may update the same static variable in a race because the lock
> is on each DFS client object, not on the shared DFSClient class object.
> There are 2 possible fixes:
> 1. "Global thread pool": Change initThreadsNumForHedgedReads to static
> 2. "Per-client thread pool": Change HEDGED_READ_THREAD_POOL to non-static
> From the description for property {{dfs.client.hedged.read.threadpool.size}}:
> {quote}
> to a positive number. The threadpool size is how many threads to dedicate
> to the running of these 'hedged', concurrent reads in your client.
> {quote}
> it seems to indicate the thread pool is per DFS client.
> Let's assume we go with #1 "Global thread pool". One DFS client has the
> property set to 10 in its config, while the other client has the property set
> to 5 in its config, what is supposed to the size of the global thread pool?
> 5? 10? Or 15?
> The 2nd fix seems more reasonable to me.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]