This is an automated email from the ASF dual-hosted git repository.
lizhanhui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
The following commit(s) were added to refs/heads/develop by this push:
new 56e886bf70 [ISSUE #7592] testCleanBuffer unit test modifies, changed
non-direct … (#7593)
56e886bf70 is described below
commit 56e886bf70669befd7b9e7380e68751fe67f05b2
Author: YASH PATEL <[email protected]>
AuthorDate: Wed Nov 29 10:02:38 2023 +0530
[ISSUE #7592] testCleanBuffer unit test modifies, changed non-direct …
(#7593)
* [ISSUE #7592] testCleanBuffer unit test modifies, changed non-direct to
direct buffer allocation
* fix: consolidate UtilAll#cleanBuffer by checking if the given buffer is
direct or not
Signed-off-by: Li Zhanhui <[email protected]>
---------
Signed-off-by: Li Zhanhui <[email protected]>
Co-authored-by: Li Zhanhui <[email protected]>
---
common/src/main/java/org/apache/rocketmq/common/UtilAll.java | 9 +++++++++
common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java | 3 ++-
.../org/apache/rocketmq/store/timer/TimerMessageStoreTest.java | 2 +-
3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
index 2808f106ae..19efa9aa90 100644
--- a/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
+++ b/common/src/main/java/org/apache/rocketmq/common/UtilAll.java
@@ -699,10 +699,19 @@ public class UtilAll {
}
}
+ /**
+ * Free direct-buffer's memory actively.
+ * @param buffer Direct buffer to free.
+ */
public static void cleanBuffer(final ByteBuffer buffer) {
if (null == buffer) {
return;
}
+
+ if (!buffer.isDirect()) {
+ return;
+ }
+
PlatformDependent.freeDirectBuffer(buffer);
}
diff --git a/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java
b/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java
index cb288578cc..2d22d5254a 100644
--- a/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java
+++ b/common/src/test/java/org/apache/rocketmq/common/UtilAllTest.java
@@ -215,8 +215,9 @@ public class UtilAllTest {
@Test
public void testCleanBuffer() {
UtilAll.cleanBuffer(null);
+ UtilAll.cleanBuffer(ByteBuffer.allocateDirect(10));
+ UtilAll.cleanBuffer(ByteBuffer.allocateDirect(0));
UtilAll.cleanBuffer(ByteBuffer.allocate(10));
- UtilAll.cleanBuffer(ByteBuffer.allocate(0));
}
@Test
diff --git
a/store/src/test/java/org/apache/rocketmq/store/timer/TimerMessageStoreTest.java
b/store/src/test/java/org/apache/rocketmq/store/timer/TimerMessageStoreTest.java
index 63ec97cdb0..02ff35681d 100644
---
a/store/src/test/java/org/apache/rocketmq/store/timer/TimerMessageStoreTest.java
+++
b/store/src/test/java/org/apache/rocketmq/store/timer/TimerMessageStoreTest.java
@@ -387,7 +387,7 @@ public class TimerMessageStoreTest {
assertEquals(PutMessageStatus.PUT_OK,
putMessageResult.getPutMessageStatus());
}
- // Wait until messages have wrote to TimerLog and currReadTimeMs
catches up current time.
+ // Wait until messages have written to TimerLog and currReadTimeMs
catches up current time.
await().atMost(5000, TimeUnit.MILLISECONDS).until(new
Callable<Boolean>() {
@Override
public Boolean call() {