You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2013/07/01 18:00:46 UTC
svn commit: r1498535 - in /hbase/branches/0.95:
hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java
Author: larsh
Date: Mon Jul 1 16:00:46 2013
New Revision: 1498535
URL: http://svn.apache.org/r1498535
Log:
HBASE-8794 DependentColumnFilter.toString() throws NullPointerException (Stefan Seelmann)
Modified:
hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java
Modified: hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java?rev=1498535&r1=1498534&r2=1498535&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java (original)
+++ hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/filter/DependentColumnFilter.java Mon Jul 1 16:00:46 2013
@@ -285,6 +285,6 @@ public class DependentColumnFilter exten
Bytes.toStringBinary(this.columnQualifier),
this.dropDependentColumn,
this.compareOp.name(),
- Bytes.toStringBinary(this.comparator.getValue()));
+ this.comparator != null ? Bytes.toStringBinary(this.comparator.getValue()) : "null");
}
}
Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java?rev=1498535&r1=1498534&r2=1498535&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/filter/TestDependentColumnFilter.java Mon Jul 1 16:00:46 2013
@@ -39,6 +39,7 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import org.junit.experimental.categories.Category;
@@ -247,5 +248,32 @@ public class TestDependentColumnFilter {
assertEquals("check cell retention", 2, accepted.size());
}
+ /**
+ * Test for HBASE-8794. Avoid NullPointerException in DependentColumnFilter.toString().
+ */
+ @Test
+ public void testToStringWithNullComparator() {
+ // Test constructor that implicitly sets a null comparator
+ Filter filter = new DependentColumnFilter(FAMILIES[0], QUALIFIER);
+ assertNotNull(filter.toString());
+ assertTrue("check string contains 'null' as compatator is null",
+ filter.toString().contains("null"));
+
+ // Test constructor with explicit null comparator
+ filter = new DependentColumnFilter(FAMILIES[0], QUALIFIER, true, CompareOp.EQUAL, null);
+ assertNotNull(filter.toString());
+ assertTrue("check string contains 'null' as compatator is null",
+ filter.toString().contains("null"));
+ }
+
+ @Test
+ public void testToStringWithNonNullComparator() {
+ Filter filter =
+ new DependentColumnFilter(FAMILIES[0], QUALIFIER, true, CompareOp.EQUAL,
+ new BinaryComparator(MATCH_VAL));
+ assertNotNull(filter.toString());
+ assertTrue("check string contains comparator value", filter.toString().contains("match"));
+ }
+
}