[
https://issues.apache.org/jira/browse/HADOOP-19847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18067024#comment-18067024
]
ASF GitHub Bot commented on HADOOP-19847:
-----------------------------------------
edwardcapriolo commented on code in PR #8359:
URL: https://github.com/apache/hadoop/pull/8359#discussion_r2965281919
##########
hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestAddBlockRetry.java:
##########
@@ -122,7 +123,7 @@ public void testRetryAddBlockWhileInChooseTarget() throws
Exception {
LocatedBlock newBlock;
try {
newBlock = FSDirWriteFileOp.storeAllocatedBlock(ns, src,
- HdfsConstants.GRANDFATHER_INODE_ID, "clientName", null, targets);
+ HdfsConstants.GRANDFATHER_INODE_ID, "clientName", null, targets, new
AtomicReference<>());
Review Comment:
The test should use like a mockito-spy or verify to show that the logging
happens as as side effect, and possibly when it doesn't happen, (eror etc)
> Move logAllocatedBlock out of lock in FSNamesystem.getAdditionalBlock to
> reduce latency
> ---------------------------------------------------------------------------------------
>
> Key: HADOOP-19847
> URL: https://issues.apache.org/jira/browse/HADOOP-19847
> Project: Hadoop Common
> Issue Type: Improvement
> Components: hdfs
> Affects Versions: 3.4.3
> Reporter: yue.wang
> Priority: Major
> Labels: HDFS, pull-request-available
> Attachments: logAllocatedBlock takes lots of time.png
>
>
> The {{logAllocatedBlock}} method in {{FSNamesystem.getAdditionalBlock}} is
> currently called while holding global lock. Flame graph analysis shows this
> logging path (via SLF4J/Log4j appenders) contributes non-trivial latency,
> blocking other NameNode operations.
>
> Since {{logAllocatedBlock}} is only for audit/diagnostic logging and does not
> modify shared state, we can safely move it after releasing global lock to
> reduce lock hold time and improve write throughput.
>
> This change preserves all existing logging behavior while eliminating
> unnecessary lock contention from I/O-bound logging operations.
>
> Flame graph:
> !logAllocatedBlock takes lots of time.png|width=1083,height=378!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]