You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by sm...@apache.org on 2016/05/19 20:40:15 UTC
[2/2] arrow git commit: Fix BaseAllocator.java NPE when assertions
are disabled
Fix BaseAllocator.java NPE when assertions are disabled
This closes #64
When verifying memory using verifyAllocator() method, BaseAllocator throws NPE
if assertions are disabled.
Fixing this issue by checking first if assertion are disabled
Project: http://git-wip-us.apache.org/repos/asf/arrow/repo
Commit: http://git-wip-us.apache.org/repos/asf/arrow/commit/e316b3f7
Tree: http://git-wip-us.apache.org/repos/asf/arrow/tree/e316b3f7
Diff: http://git-wip-us.apache.org/repos/asf/arrow/diff/e316b3f7
Branch: refs/heads/master
Commit: e316b3f765167fa1f45197061624e73332b095f4
Parents: c0985a4
Author: Laurent Goujon <la...@dremio.com>
Authored: Fri Apr 15 14:00:19 2016 -0700
Committer: Steven Phillips <st...@dremio.com>
Committed: Thu May 19 13:19:21 2016 -0700
----------------------------------------------------------------------
.../org/apache/arrow/memory/BaseAllocator.java | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/arrow/blob/e316b3f7/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
----------------------------------------------------------------------
diff --git a/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java b/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
index 90257bb..f1503c9 100644
--- a/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
+++ b/java/memory/src/main/java/org/apache/arrow/memory/BaseAllocator.java
@@ -99,6 +99,7 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
}
+ @Override
public void assertOpen() {
if (AssertionUtil.ASSERT_ENABLED) {
if (isClosed) {
@@ -287,6 +288,7 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
}
}
+ @Override
public boolean add(final int nBytes) {
assertOpen();
@@ -308,6 +310,7 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
return true;
}
+ @Override
public ArrowBuf allocateBuffer() {
assertOpen();
@@ -319,14 +322,17 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
return arrowBuf;
}
+ @Override
public int getSize() {
return nBytes;
}
+ @Override
public boolean isUsed() {
return used;
}
+ @Override
public boolean isClosed() {
return closed;
}
@@ -364,6 +370,7 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
closed = true;
}
+ @Override
public boolean reserve(int nBytes) {
assertOpen();
@@ -509,6 +516,7 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
}
+ @Override
public String toString() {
final Verbosity verbosity = logger.isTraceEnabled() ? Verbosity.LOG_WITH_STACKTRACE
: Verbosity.BASIC;
@@ -523,6 +531,7 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
*
* @return A Verbose string of current allocator state.
*/
+ @Override
public String toVerboseString() {
final StringBuilder sb = new StringBuilder();
print(sb, 0, Verbosity.LOG_WITH_STACKTRACE);
@@ -575,13 +584,12 @@ public abstract class BaseAllocator extends Accountant implements BufferAllocato
* when any problems are found
*/
private void verifyAllocator(final IdentityHashMap<UnsafeDirectLittleEndian, BaseAllocator> buffersSeen) {
- synchronized (DEBUG_LOCK) {
-
- // The remaining tests can only be performed if we're in debug mode.
- if (!DEBUG) {
- return;
- }
+ // The remaining tests can only be performed if we're in debug mode.
+ if (!DEBUG) {
+ return;
+ }
+ synchronized (DEBUG_LOCK) {
final long allocated = getAllocatedMemory();
// verify my direct descendants