This is an automated email from the ASF dual-hosted git repository. zhangduo pushed a commit to branch HBASE-29802 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 3ecc085abb2021b46c3b162e518a1923526794c2 Author: Duo Zhang <[email protected]> AuthorDate: Wed Jan 7 19:47:46 2026 +0800 HBASE-29802 add more logs --- .../hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java | 10 ++++++++++ .../org/apache/hadoop/hbase/master/region/MasterRegion.java | 2 ++ 2 files changed, 12 insertions(+) diff --git a/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java b/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java index 2dcbf56ade8..23c8bda1a5c 100644 --- a/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java +++ b/hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java @@ -71,6 +71,8 @@ import org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.PipelineAckProto import org.apache.hadoop.hdfs.protocol.proto.DataTransferProtos.Status; import org.apache.hadoop.util.DataChecksum; import org.apache.yetus.audience.InterfaceAudience; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.apache.hbase.thirdparty.com.google.common.base.Preconditions; import org.apache.hbase.thirdparty.io.netty.buffer.ByteBuf; @@ -109,6 +111,8 @@ import org.apache.hbase.thirdparty.io.netty.handler.timeout.IdleStateHandler; @InterfaceAudience.Private public class FanOutOneBlockAsyncDFSOutput implements AsyncFSOutput { + private static final Logger LOG = LoggerFactory.getLogger(FanOutOneBlockAsyncDFSOutput.class); + // The MAX_PACKET_SIZE is 16MB, but it includes the header size and checksum size. So here we set // a smaller limit for data size. private static final int MAX_DATA_LEN = 12 * 1024 * 1024; @@ -411,6 +415,10 @@ public class FanOutOneBlockAsyncDFSOutput implements AsyncFSOutput { @Override public int buffered() { + if (buf == null) { + LOG.warn("NPE when calling buffered on {}, state = {}", src, state); + throw new NullPointerException("buf is null"); + } return buf.readableBytes(); } @@ -596,6 +604,7 @@ public class FanOutOneBlockAsyncDFSOutput implements AsyncFSOutput { */ @Override public void recoverAndClose(CancelableProgressable reporter) throws IOException { + LOG.debug("Recover and closing {}", src); if (buf != null) { buf.release(); buf = null; @@ -612,6 +621,7 @@ public class FanOutOneBlockAsyncDFSOutput implements AsyncFSOutput { */ @Override public void close() throws IOException { + LOG.debug("Closing {}", src); endBlock(); state = State.CLOSED; closeDataNodeChannelsAndAwait(); diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java index 97447e37b7c..fdbac5533b3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/region/MasterRegion.java @@ -142,6 +142,7 @@ public final class MasterRegion { } private void closeRegion(boolean abort) { + LOG.debug("Close local region, abort={}", abort); try { region.close(abort); } catch (IOException e) { @@ -150,6 +151,7 @@ public final class MasterRegion { } private void shutdownWAL() { + LOG.debug("Shutdown WAL of local region"); try { walFactory.shutdown(); } catch (IOException e) {
