PHOENIX-2552 Fix hanging Jenkins builds

Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/4c99fc2b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/4c99fc2b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/4c99fc2b

Branch: refs/heads/4.x-HBase-1.0
Commit: 4c99fc2b1c13b54820cbe0544980b392f6fcdf4b
Parents: fd5fff2
Author: James Taylor <[email protected]>
Authored: Wed Dec 30 21:04:12 2015 -0800
Committer: James Taylor <[email protected]>
Committed: Wed Dec 30 23:17:56 2015 -0800

----------------------------------------------------------------------
 .../org/apache/phoenix/memory/GlobalMemoryManager.java | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/4c99fc2b/phoenix-core/src/main/java/org/apache/phoenix/memory/GlobalMemoryManager.java
----------------------------------------------------------------------
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/memory/GlobalMemoryManager.java 
b/phoenix-core/src/main/java/org/apache/phoenix/memory/GlobalMemoryManager.java
index 6460260..e70b35f 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/memory/GlobalMemoryManager.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/memory/GlobalMemoryManager.java
@@ -151,23 +151,24 @@ public class GlobalMemoryManager implements MemoryManager 
{
                 if (size > 0) {
                     logger.warn("Orphaned chunk of " + size + " bytes found 
during finalize");
                 }
-                close();
-                // TODO: log error here, but we can't use SFDC logging
-                // because this runs in an hbase coprocessor.
-                // Create a gack-like API (talk with GridForce or HBase folks)
+                freeMemory();
             } finally {
                 super.finalize();
             }
         }
 
-        @Override
-        public void close() {
+        private void freeMemory() {
             synchronized(sync) {
                 usedMemoryBytes -= size;
                 size = 0;
                 sync.notifyAll();
             }
         }
+        
+        @Override
+        public void close() {
+            freeMemory();
+        }
     }
 }
 

Reply via email to