From 3cbf1ced6f7ab50977ab42618d3b345d43ed0572 Mon Sep 17 00:00:00 2001 From: alluxio-bot Date: Thu, 12 Sep 2024 01:24:48 -0700 Subject: [PATCH] Release BlockReader in CRC check Cherry-pick of existing commit. orig-pr: Alluxio/alluxio#18695 orig-commit: Alluxio/alluxio@c0cea828e3cdbd6109c15d5b887ee5537f53f0c0 orig-commit-author: elega <445092967@qq.com> pr-link: Alluxio/alluxio#18696 change-id: cid-fba7d00da83719d31df0d917e1419ed049adeed8 --- core/common/src/main/java/alluxio/Sessions.java | 3 ++- .../main/java/alluxio/worker/block/DefaultBlockWorker.java | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/common/src/main/java/alluxio/Sessions.java b/core/common/src/main/java/alluxio/Sessions.java index 489d5f1ee799..eaf5f48c555f 100644 --- a/core/common/src/main/java/alluxio/Sessions.java +++ b/core/common/src/main/java/alluxio/Sessions.java @@ -36,9 +36,10 @@ public class Sessions { public static final int CACHE_UFS_SESSION_ID = -8; public static final int LOAD_SESSION_ID = -9; + public static final int WORKER_CHECKSUM_CHECK_SESSION_ID = -10; // internal session id base should be smaller than all predefined session ids - public static final long INTERNAL_SESSION_ID_BASE = -8; + public static final long INTERNAL_SESSION_ID_BASE = -11; /** Map from SessionId to {@link alluxio.SessionInfo} object. */ private final Map mSessions; diff --git a/core/server/worker/src/main/java/alluxio/worker/block/DefaultBlockWorker.java b/core/server/worker/src/main/java/alluxio/worker/block/DefaultBlockWorker.java index 3726581e0fbe..d6595d259dc1 100644 --- a/core/server/worker/src/main/java/alluxio/worker/block/DefaultBlockWorker.java +++ b/core/server/worker/src/main/java/alluxio/worker/block/DefaultBlockWorker.java @@ -627,10 +627,10 @@ public Map calculateBlockChecksum(List blockIds) { for (long blockId : blockIds) { Future future = mChecksumCalculationThreadPool.submit(() -> { ByteBuffer bf = null; - try { + try (BlockReader br = mBlockStore.createBlockReader( + Sessions.WORKER_CHECKSUM_CHECK_SESSION_ID, + blockId, 0, false, Protocol.OpenUfsBlockOptions.getDefaultInstance())) { CRC64 crc64 = new CRC64(); - BlockReader br = mBlockStore.createBlockReader( - -1, blockId, 0, false, Protocol.OpenUfsBlockOptions.getDefaultInstance()); if (mChecksumCalculationUsingBufferPool) { bf = NioHeapBufferPool.acquire(chunkSize); } else {