You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by yz...@apache.org on 2022/02/27 05:29:58 UTC
[mnemonic] branch master updated: MNEMONIC-724: Check the bufferBlock in JavaVMemServiceImpl.free
This is an automated email from the ASF dual-hosted git repository.
yzhao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mnemonic.git
The following commit(s) were added to refs/heads/master by this push:
new 7f7110e MNEMONIC-724: Check the bufferBlock in JavaVMemServiceImpl.free
7f7110e is described below
commit 7f7110e43529069b134540721d5d2d77fef0196d
Author: Li Shen <li...@apache.org>
AuthorDate: Thu Feb 24 21:29:55 2022 -0800
MNEMONIC-724: Check the bufferBlock in JavaVMemServiceImpl.free
Signed-off-by: Li Shen <li...@apache.org>
---
.../apache/mnemonic/service/memory/internal/JavaVMemServiceImpl.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mnemonic-memory-services/mnemonic-java-vmem-service/src/main/java/org/apache/mnemonic/service/memory/internal/JavaVMemServiceImpl.java b/mnemonic-memory-services/mnemonic-java-vmem-service/src/main/java/org/apache/mnemonic/service/memory/internal/JavaVMemServiceImpl.java
index f765be9..78d3e78 100644
--- a/mnemonic-memory-services/mnemonic-java-vmem-service/src/main/java/org/apache/mnemonic/service/memory/internal/JavaVMemServiceImpl.java
+++ b/mnemonic-memory-services/mnemonic-java-vmem-service/src/main/java/org/apache/mnemonic/service/memory/internal/JavaVMemServiceImpl.java
@@ -220,13 +220,13 @@ public class JavaVMemServiceImpl implements VolatileMemoryAllocatorService {
@Override
public void free(long id, long addr, ReclaimContext rctx) {
MemoryInfo mi = this.getMemPools().get((int)id);
- FileChannel channel = mi.getFileChannel();
+ // FileChannel channel = mi.getFileChannel();
int startIdx, requiredblocks, size;
long baseAddr;
try {
for (int blockIdx = 0; blockIdx < mi.getByteBufferBlocksList().size(); blockIdx++) {
BufferBlockInfo bufferBlock = mi.getByteBufferBlocksList().get(blockIdx);
- if (bufferBlock.getChunkSizeMap().containsKey(addr)) {
+ if (bufferBlock != null && bufferBlock.getChunkSizeMap().containsKey(addr)) {
size = bufferBlock.getChunkSizeMap().get(addr);
BitSet chunksMap = bufferBlock.getBufferBlockChunksMap();
baseAddr = bufferBlock.getBufferBlockBaseAddress();