[
https://issues.apache.org/jira/browse/HDFS-17072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17772510#comment-17772510
]
ASF GitHub Bot commented on HDFS-17072:
---------------------------------------
zhangshuyan0 commented on code in PR #5825:
URL: https://github.com/apache/hadoop/pull/5825#discussion_r1348520619
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DirectoryScanner.java:
##########
@@ -777,4 +793,29 @@ private void accumulateTimeWaiting() {
perfTimer.reset().start();
}
}
+
+ /**
+ * Trigger an instant run of directory scanner if it's not running currently.
+ * @return
+ */
+ public String triggerDirectoryScanner() throws IOException {
+ if (reconcileRunning.get()) {
Review Comment:
Just as mentioned above.
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/DirectoryScanner.java:
##########
@@ -404,6 +407,11 @@ public void run() {
"This cycle terminating immediately because 'shouldRun' has been
deactivated");
return;
}
+ if (reconcileRunning.get()) {
Review Comment:
Using the `reconcileRunning` variable in this way cannot prevent two threads
from executing `reconcile()` at the same time. When this thread is running
after line410 and before line416, another thread may set `reconcileRunning` to
true.
> DFSAdmin: add a triggerDirectoryScanner command
> ------------------------------------------------
>
> Key: HDFS-17072
> URL: https://issues.apache.org/jira/browse/HDFS-17072
> Project: Hadoop HDFS
> Issue Type: Improvement
> Components: datanode
> Affects Versions: 3.4.0
> Reporter: farmmamba
> Assignee: farmmamba
> Priority: Major
> Labels: pull-request-available
>
> Like -triggerBlockReport, I think we should add a command named
> -triggerVolumeScanner to manually trigger volume scanner run immediately.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]