You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2016/04/08 04:11:45 UTC
incubator-mnemonic git commit: upgrade resgc and utilize its new
feature
Repository: incubator-mnemonic
Updated Branches:
refs/heads/master b986d48c1 -> af3bb7019
upgrade resgc and utilize its new feature
Project: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/commit/af3bb701
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/tree/af3bb701
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/diff/af3bb701
Branch: refs/heads/master
Commit: af3bb7019961ee349a6cc3a39c23a6eb6cfaffa0
Parents: b986d48
Author: Wang, Gang(Gary) <ga...@intel.com>
Authored: Thu Apr 7 19:11:01 2016 -0700
Committer: Wang, Gang(Gary) <ga...@intel.com>
Committed: Thu Apr 7 19:11:01 2016 -0700
----------------------------------------------------------------------
.../apache/mnemonic/BigDataMemAllocator.java | 20 ++++--------------
.../apache/mnemonic/BigDataPMemAllocator.java | 22 ++++----------------
.../org/apache/mnemonic/SysMemAllocator.java | 22 +++++---------------
pom.xml | 2 +-
4 files changed, 14 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/af3bb701/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java b/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
index e663540..3ed3181 100644
--- a/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/BigDataMemAllocator.java
@@ -149,7 +149,7 @@ public class BigDataMemAllocator extends CommonAllocator<BigDataMemAllocator> {
if (size > 0) {
Long addr = m_vmasvc.reallocate(m_nid, mholder.get(), size, true);
if (0 == addr && m_activegc) {
- forceGC();
+ m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
addr = m_vmasvc.reallocate(m_nid, mholder.get(), size, true);
}
if (0 != addr) {
@@ -186,7 +186,7 @@ public class BigDataMemAllocator extends CommonAllocator<BigDataMemAllocator> {
int buflimit = mholder.get().limit();
ByteBuffer buf = m_vmasvc.resizeByteBuffer(m_nid, mholder.get(), size);
if (null == buf && m_activegc) {
- forceGC();
+ m_bufcollector.waitReclaimCoolDown(m_gctimeout);
buf = m_vmasvc.resizeByteBuffer(m_nid, mholder.get(), size);
}
if (null != buf) {
@@ -220,7 +220,7 @@ public class BigDataMemAllocator extends CommonAllocator<BigDataMemAllocator> {
MemChunkHolder<BigDataMemAllocator> ret = null;
Long addr = m_vmasvc.allocate(m_nid, size, true);
if (0 == addr && m_activegc) {
- forceGC();
+ m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
addr = m_vmasvc.allocate(m_nid, size, true);
}
if (0 != addr) {
@@ -250,7 +250,7 @@ public class BigDataMemAllocator extends CommonAllocator<BigDataMemAllocator> {
MemBufferHolder<BigDataMemAllocator> ret = null;
ByteBuffer bb = m_vmasvc.createByteBuffer(m_nid, size);
if (null == bb && m_activegc) {
- forceGC();
+ m_bufcollector.waitReclaimCoolDown(m_gctimeout);
bb = m_vmasvc.createByteBuffer(m_nid, size);
}
if (null != bb) {
@@ -262,17 +262,5 @@ public class BigDataMemAllocator extends CommonAllocator<BigDataMemAllocator> {
}
return ret;
}
-
- /**
- * force to perform GC that is used to release unused backed memory
- * resources.
- */
- private void forceGC() {
- System.gc();
- try {
- Thread.sleep(m_gctimeout);
- } catch (Exception ex) {
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/af3bb701/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java b/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
index aac30e3..a067309 100644
--- a/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/BigDataPMemAllocator.java
@@ -117,7 +117,6 @@ public class BigDataPMemAllocator extends CommonPersistAllocator<BigDataPMemAllo
*/
@Override
public void close() {
- forceGC();
super.close();
m_nvmasvc.close(m_nid);
}
@@ -150,7 +149,7 @@ public class BigDataPMemAllocator extends CommonPersistAllocator<BigDataPMemAllo
if (size > 0) {
Long addr = m_nvmasvc.reallocate(m_nid, mholder.get(), size, true);
if (0 == addr && m_activegc) {
- forceGC();
+ m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
addr = m_nvmasvc.reallocate(m_nid, mholder.get(), size, true);
}
if (0 != addr) {
@@ -187,7 +186,7 @@ public class BigDataPMemAllocator extends CommonPersistAllocator<BigDataPMemAllo
int buflimit = mholder.get().limit();
ByteBuffer buf = m_nvmasvc.resizeByteBuffer(m_nid, mholder.get(), size);
if (null == buf && m_activegc) {
- forceGC();
+ m_bufcollector.waitReclaimCoolDown(m_gctimeout);
buf = m_nvmasvc.resizeByteBuffer(m_nid, mholder.get(), size);
}
if (null != buf) {
@@ -221,7 +220,7 @@ public class BigDataPMemAllocator extends CommonPersistAllocator<BigDataPMemAllo
MemChunkHolder<BigDataPMemAllocator> ret = null;
Long addr = m_nvmasvc.allocate(m_nid, size, true);
if ((null == addr || 0 == addr) && m_activegc) {
- forceGC();
+ m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
addr = m_nvmasvc.allocate(m_nid, size, true);
}
if (null != addr && 0 != addr) {
@@ -251,7 +250,7 @@ public class BigDataPMemAllocator extends CommonPersistAllocator<BigDataPMemAllo
MemBufferHolder<BigDataPMemAllocator> ret = null;
ByteBuffer bb = m_nvmasvc.createByteBuffer(m_nid, size);
if (null == bb && m_activegc) {
- forceGC();
+ m_bufcollector.waitReclaimCoolDown(m_gctimeout);
bb = m_nvmasvc.createByteBuffer(m_nid, size);
}
if (null != bb) {
@@ -406,19 +405,6 @@ public class BigDataPMemAllocator extends CommonPersistAllocator<BigDataPMemAllo
}
/**
- * force to perform GC that is used to re-claim garbages objects
- * as well as memory resources managed by this allocator.
- *
- */
- private void forceGC() {
- System.gc();
- try {
- Thread.sleep(m_gctimeout);
- } catch (Exception ex) {
- }
- }
-
- /**
* calculate the portable address
*
* @param addr
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/af3bb701/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java b/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
index a693556..8889d48 100644
--- a/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
+++ b/core/src/main/java/org/apache/mnemonic/SysMemAllocator.java
@@ -163,7 +163,7 @@ public class SysMemAllocator extends CommonAllocator<SysMemAllocator> {
if (size > 0) {
if (currentMemory.get() + size > maxStoreCapacity) {
if (m_activegc) {
- forceGC();
+ m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
}
}
if (currentMemory.get() + size <= maxStoreCapacity) {
@@ -203,7 +203,7 @@ public class SysMemAllocator extends CommonAllocator<SysMemAllocator> {
int buflimit = mholder.get().limit();
if (currentMemory.get() + size > maxStoreCapacity) {
if (m_activegc) {
- forceGC();
+ m_bufcollector.waitReclaimCoolDown(m_gctimeout);
}
}
if (currentMemory.get() + size <= maxStoreCapacity) {
@@ -241,7 +241,7 @@ public class SysMemAllocator extends CommonAllocator<SysMemAllocator> {
Long addr = null;
if (currentMemory.get() + size > maxStoreCapacity) {
if (m_activegc) {
- forceGC();
+ m_chunkcollector.waitReclaimCoolDown(m_gctimeout);
}
}
if (currentMemory.get() + size <= maxStoreCapacity) {
@@ -273,7 +273,7 @@ public class SysMemAllocator extends CommonAllocator<SysMemAllocator> {
ByteBuffer bb = null;
if (currentMemory.get() + size > maxStoreCapacity) {
if (m_activegc) {
- forceGC();
+ m_bufcollector.waitReclaimCoolDown(m_gctimeout);
}
}
if (currentMemory.get() + size <= maxStoreCapacity) {
@@ -289,17 +289,5 @@ public class SysMemAllocator extends CommonAllocator<SysMemAllocator> {
}
return ret;
}
-
- /**
- * force to perform GC that is used to release unused backed memory
- * resources.
- */
- private void forceGC() {
- System.gc();
- try {
- Thread.sleep(m_gctimeout);
- } catch (Exception ex) {
- }
- }
-
+
}
http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/af3bb701/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 37bc5df..882b5dd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,7 +128,7 @@
<dependency>
<groupId>org.flowcomputing.commons</groupId>
<artifactId>commons-resgc</artifactId>
- <version>0.8.7</version>
+ <version>0.8.9</version>
</dependency>
<dependency>
<groupId>org.flowcomputing.commons</groupId>