From 7a28b5b13ffc4a7edd631db8ce9f7903d555a25d Mon Sep 17 00:00:00 2001 From: tianhang Date: Thu, 18 May 2023 15:57:36 +0800 Subject: [PATCH] HBASE-27873 Asyncfs may print too many WARN logs when replace writer --- .../io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java b/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java index 9c66c53b8bfe..556de3bcab87 100644 --- a/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java +++ b/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputHelper.java @@ -56,6 +56,7 @@ import org.apache.hadoop.hbase.io.asyncfs.monitor.ExcludeDatanodeManager; import org.apache.hadoop.hbase.io.asyncfs.monitor.StreamSlowMonitor; import org.apache.hadoop.hbase.util.CancelableProgressable; +import org.apache.hadoop.hbase.util.EnvironmentEdgeManager; import org.apache.hadoop.hdfs.DFSClient; import org.apache.hadoop.hdfs.DFSOutputStream; import org.apache.hadoop.hdfs.DistributedFileSystem; @@ -586,13 +587,16 @@ public static boolean shouldRetryCreate(RemoteException e) { static void completeFile(DFSClient client, ClientProtocol namenode, String src, String clientName, ExtendedBlock block, long fileId) { + long startTime = EnvironmentEdgeManager.currentTime(); for (int retry = 0;; retry++) { try { if (namenode.complete(src, clientName, block, fileId)) { endFileLease(client, fileId); return; } else { - LOG.warn("complete file " + src + " not finished, retry = " + retry); + if (EnvironmentEdgeManager.currentTime() - startTime > 5000) { + LOG.info("complete file " + src + " not finished, retry = " + retry); + } } } catch (RemoteException e) { IOException ioe = e.unwrapRemoteException();