You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by da...@apache.org on 2016/04/01 22:07:31 UTC

[2/3] incubator-kudu git commit: [java-client] implement KuduPredicate API

http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/16c03cda/java/kudu-client/src/test/java/org/kududb/client/TestScanPredicate.java
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/test/java/org/kududb/client/TestScanPredicate.java b/java/kudu-client/src/test/java/org/kududb/client/TestScanPredicate.java
new file mode 100644
index 0000000..5501d5d
--- /dev/null
+++ b/java/kudu-client/src/test/java/org/kududb/client/TestScanPredicate.java
@@ -0,0 +1,602 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+
+package org.kududb.client;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSortedSet;
+import org.junit.Assert;
+import org.junit.Test;
+import org.kududb.ColumnSchema;
+import org.kududb.Schema;
+import org.kududb.Type;
+import org.kududb.client.KuduPredicate.ComparisonOp;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.NavigableSet;
+import java.util.TreeSet;
+
+public class TestScanPredicate extends BaseKuduTest {
+
+  private Schema createTableSchema(Type type) {
+    ColumnSchema key = new ColumnSchema.ColumnSchemaBuilder("key", Type.INT64).key(true).build();
+    ColumnSchema val = new ColumnSchema.ColumnSchemaBuilder("value", type).nullable(true).build();
+    return new Schema(ImmutableList.of(key, val));
+  }
+
+
+  private int countRows(KuduTable table, KuduPredicate... predicates) throws Exception {
+    KuduScanner.KuduScannerBuilder scanBuilder =  new KuduScanner.KuduScannerBuilder(client, table);
+    for (KuduPredicate predicate : predicates) {
+      scanBuilder.addPredicate(predicate);
+    }
+
+    KuduScanner scanner = scanBuilder.build();
+
+    int count = 0;
+    while (scanner.hasMoreRows()) {
+      count += scanner.nextRows().getNumRows();
+    }
+    return count;
+  }
+
+  private NavigableSet<Long> createIntegerValues(Type type) {
+    NavigableSet<Long> values = new TreeSet<>();
+    for (long i = -50; i < 50; i++) {
+      values.add(i);
+    }
+    values.add(KuduPredicate.minIntValue(type));
+    values.add(KuduPredicate.minIntValue(type) + 1);
+    values.add(KuduPredicate.maxIntValue(type) - 1);
+    values.add(KuduPredicate.maxIntValue(type));
+    return values;
+  }
+
+  private List<Long> createIntegerTestValues(Type type) {
+    return ImmutableList.of(
+        KuduPredicate.minIntValue(type),
+        KuduPredicate.minIntValue(type) + 1,
+        -51L,
+        50L,
+        0L,
+        49L,
+        50L,
+        KuduPredicate.maxIntValue(type) - 1,
+        KuduPredicate.maxIntValue(type));
+  }
+
+  private NavigableSet<Float> createFloatValues() {
+    NavigableSet<Float> values = new TreeSet<>();
+    for (long i = -50; i < 50; i++) {
+      values.add((float) i + (float) i / 100.0F);
+    }
+
+    values.add(Float.NEGATIVE_INFINITY);
+    values.add(-Float.MAX_VALUE);
+    values.add(-Float.MIN_NORMAL);
+    values.add(-Float.MIN_VALUE);
+    values.add(Float.MIN_VALUE);
+    values.add(Float.MIN_NORMAL);
+    values.add(Float.MAX_VALUE);
+    values.add(Float.POSITIVE_INFINITY);
+
+    // TODO: uncomment after fixing KUDU-1386
+    // values.add(Float.NaN);
+    return values;
+  }
+
+  private List<Float> createFloatTestValues() {
+    return ImmutableList.of(
+        Float.NEGATIVE_INFINITY,
+        -Float.MAX_VALUE,
+        -100.0F,
+        -1.1F,
+        -1.0F,
+        -Float.MIN_NORMAL,
+        -Float.MIN_VALUE,
+        0.0F,
+        Float.MIN_VALUE,
+        Float.MIN_NORMAL,
+        1.0F,
+        1.1F,
+        100.0F,
+        Float.MAX_VALUE,
+        Float.POSITIVE_INFINITY
+
+        // TODO: uncomment after fixing KUDU-1386
+        // Float.NaN
+    );
+  }
+
+  private NavigableSet<Double> createDoubleValues() {
+    NavigableSet<Double> values = new TreeSet<>();
+    for (long i = -50; i < 50; i++) {
+      values.add((double) i + (double) i / 100.0);
+    }
+
+    values.add(Double.NEGATIVE_INFINITY);
+    values.add(-Double.MAX_VALUE);
+    values.add(-Double.MIN_NORMAL);
+    values.add(-Double.MIN_VALUE);
+    values.add(Double.MIN_VALUE);
+    values.add(Double.MIN_NORMAL);
+    values.add(Double.MAX_VALUE);
+    values.add(Double.POSITIVE_INFINITY);
+
+    // TODO: uncomment after fixing KUDU-1386
+    // values.add(Double.NaN);
+    return values;
+  }
+
+  private List<Double> createDoubleTestValues() {
+    return ImmutableList.of(
+        Double.NEGATIVE_INFINITY,
+        -Double.MAX_VALUE,
+        -100.0,
+        -1.1,
+        -1.0,
+        -Double.MIN_NORMAL,
+        -Double.MIN_VALUE,
+        0.0,
+        Double.MIN_VALUE,
+        Double.MIN_NORMAL,
+        1.0,
+        1.1,
+        100.0,
+        Double.MAX_VALUE,
+        Double.POSITIVE_INFINITY
+
+        // TODO: uncomment after fixing KUDU-1386
+        // Double.NaN
+    );
+  }
+
+  private NavigableSet<String> createStringValues() {
+    return ImmutableSortedSet.of("", "\0", "\0\0", "a", "a\0", "a\0a", "aa\0");
+  }
+
+  private List<String> createStringTestValues() {
+    List<String> values = new ArrayList<>(createStringValues());
+    values.add("aa");
+    values.add("\1");
+    values.add("a\1");
+    return values;
+  }
+
+  private void checkIntPredicates(KuduTable table,
+                                  NavigableSet<Long> values,
+                                  List<Long> testValues) throws Exception {
+    ColumnSchema col = table.getSchema().getColumn("value");
+    Assert.assertEquals(values.size() + 1, countRows(table));
+    for (long v : testValues) {
+      // value = v
+      KuduPredicate equal = KuduPredicate.newComparisonPredicate(col, ComparisonOp.EQUAL, v);
+      Assert.assertEquals(values.contains(v) ? 1 : 0, countRows(table, equal));
+
+      // value >= v
+      KuduPredicate greaterEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER_EQUAL, v);
+      Assert.assertEquals(values.tailSet(v).size(), countRows(table, greaterEqual));
+
+      // value <= v
+      KuduPredicate lessEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS_EQUAL, v);
+      Assert.assertEquals(values.headSet(v, true).size(), countRows(table, lessEqual));
+
+      // value > v
+      KuduPredicate greater =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER, v);
+      Assert.assertEquals(values.tailSet(v, false).size(), countRows(table, greater));
+
+      // value < v
+      KuduPredicate less =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS, v);
+      Assert.assertEquals(values.headSet(v).size(), countRows(table, less));
+    }
+  }
+
+  @Test
+  public void testBoolPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.BOOL);
+    syncClient.createTable("bool-table", schema);
+    KuduTable table = syncClient.openTable("bool-table");
+
+    NavigableSet<Boolean> values = ImmutableSortedSet.of(false, true);
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (boolean value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addBoolean("value", value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    ColumnSchema col = table.getSchema().getColumn("value");
+    Assert.assertEquals(values.size() + 1, countRows(table));
+
+    for (boolean v : values) {
+      // value = v
+      KuduPredicate equal = KuduPredicate.newComparisonPredicate(col, ComparisonOp.EQUAL, v);
+      Assert.assertEquals(values.contains(v) ? 1 : 0, countRows(table, equal));
+
+      // value >= v
+      KuduPredicate greaterEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER_EQUAL, v);
+      Assert.assertEquals(values.tailSet(v).size(), countRows(table, greaterEqual));
+
+      // value <= v
+      KuduPredicate lessEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS_EQUAL, v);
+      Assert.assertEquals(values.headSet(v, true).size(), countRows(table, lessEqual));
+
+      // value > v
+      KuduPredicate greater =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER, v);
+      Assert.assertEquals(values.tailSet(v, false).size(), countRows(table, greater));
+
+      // value < v
+      KuduPredicate less =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS, v);
+      Assert.assertEquals(values.headSet(v).size(), countRows(table, less));
+    }
+  }
+
+  @Test
+  public void testBytePredicates() throws Exception {
+    Schema schema = createTableSchema(Type.INT8);
+    syncClient.createTable("byte-table", schema);
+    KuduTable table = syncClient.openTable("byte-table");
+
+    NavigableSet<Long> values = createIntegerValues(Type.INT8);
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (long value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addByte("value", (byte) value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    checkIntPredicates(table, values, createIntegerTestValues(Type.INT8));
+  }
+
+  @Test
+  public void testShortPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.INT16);
+    syncClient.createTable("short-table", schema);
+    KuduTable table = syncClient.openTable("short-table");
+
+    NavigableSet<Long> values = createIntegerValues(Type.INT16);
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (long value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addShort("value", (short) value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    checkIntPredicates(table, values, createIntegerTestValues(Type.INT16));
+  }
+
+  @Test
+  public void testIntPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.INT32);
+    syncClient.createTable("int-table", schema);
+    KuduTable table = syncClient.openTable("int-table");
+
+    NavigableSet<Long> values = createIntegerValues(Type.INT32);
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (long value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addInt("value", (int) value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    checkIntPredicates(table, values, createIntegerTestValues(Type.INT32));
+  }
+
+  @Test
+  public void testLongPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.INT64);
+    syncClient.createTable("long-table", schema);
+    KuduTable table = syncClient.openTable("long-table");
+
+    NavigableSet<Long> values = createIntegerValues(Type.INT64);
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (long value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addLong("value", value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    checkIntPredicates(table, values, createIntegerTestValues(Type.INT64));
+  }
+
+  @Test
+  public void testTimestampPredicate() throws Exception {
+    Schema schema = createTableSchema(Type.INT64);
+    syncClient.createTable("timestamp-table", schema);
+    KuduTable table = syncClient.openTable("timestamp-table");
+
+    NavigableSet<Long> values = createIntegerValues(Type.INT64);
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (long value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addLong("value", value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    checkIntPredicates(table, values, createIntegerTestValues(Type.INT64));
+  }
+
+  @Test
+  public void testFloatPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.FLOAT);
+    syncClient.createTable("float-table", schema);
+    KuduTable table = syncClient.openTable("float-table");
+
+    NavigableSet<Float> values = createFloatValues();
+    List<Float> testValues = createFloatTestValues();
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (float value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addFloat("value", value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    ColumnSchema col = table.getSchema().getColumn("value");
+    Assert.assertEquals(values.size() + 1, countRows(table));
+
+    for (float v : testValues) {
+      // value = v
+      KuduPredicate equal = KuduPredicate.newComparisonPredicate(col, ComparisonOp.EQUAL, v);
+      Assert.assertEquals(values.subSet(v, true, v, true).size(), countRows(table, equal));
+
+      // value >= v
+      KuduPredicate greaterEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER_EQUAL, v);
+      Assert.assertEquals(values.tailSet(v).size(), countRows(table, greaterEqual));
+
+      // value <= v
+      KuduPredicate lessEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS_EQUAL, v);
+      Assert.assertEquals(values.headSet(v, true).size(), countRows(table, lessEqual));
+
+      // value > v
+      KuduPredicate greater =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER, v);
+      Assert.assertEquals(values.tailSet(v, false).size(), countRows(table, greater));
+
+      // value < v
+      KuduPredicate less =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS, v);
+      Assert.assertEquals(values.headSet(v).size(), countRows(table, less));
+    }
+  }
+
+  @Test
+  public void testDoublePredicates() throws Exception {
+    Schema schema = createTableSchema(Type.DOUBLE);
+    syncClient.createTable("double-table", schema);
+    KuduTable table = syncClient.openTable("double-table");
+
+    NavigableSet<Double> values = createDoubleValues();
+    List<Double> testValues = createDoubleTestValues();
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (double value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addDouble("value", value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    ColumnSchema col = table.getSchema().getColumn("value");
+    Assert.assertEquals(values.size() + 1, countRows(table));
+
+    for (double v : testValues) {
+      // value = v
+      KuduPredicate equal = KuduPredicate.newComparisonPredicate(col, ComparisonOp.EQUAL, v);
+      Assert.assertEquals(values.subSet(v, true, v, true).size(), countRows(table, equal));
+
+      // value >= v
+      KuduPredicate greaterEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER_EQUAL, v);
+      Assert.assertEquals(values.tailSet(v).size(), countRows(table, greaterEqual));
+
+      // value <= v
+      KuduPredicate lessEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS_EQUAL, v);
+      Assert.assertEquals(values.headSet(v, true).size(), countRows(table, lessEqual));
+
+      // value > v
+      KuduPredicate greater =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER, v);
+      Assert.assertEquals(values.tailSet(v, false).size(), countRows(table, greater));
+
+      // value < v
+      KuduPredicate less =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS, v);
+      Assert.assertEquals(values.headSet(v).size(), countRows(table, less));
+    }
+  }
+
+  @Test
+  public void testStringPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.STRING);
+    syncClient.createTable("string-table", schema);
+    KuduTable table = syncClient.openTable("string-table");
+
+    NavigableSet<String> values = createStringValues();
+    List<String> testValues = createStringTestValues();
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (String value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addString("value", value);
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    ColumnSchema col = table.getSchema().getColumn("value");
+    Assert.assertEquals(values.size() + 1, countRows(table));
+
+    for (String v : testValues) {
+      // value = v
+      KuduPredicate equal = KuduPredicate.newComparisonPredicate(col, ComparisonOp.EQUAL, v);
+      Assert.assertEquals(values.subSet(v, true, v, true).size(), countRows(table, equal));
+
+      // value >= v
+      KuduPredicate greaterEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER_EQUAL, v);
+      Assert.assertEquals(values.tailSet(v).size(), countRows(table, greaterEqual));
+
+      // value <= v
+      KuduPredicate lessEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS_EQUAL, v);
+      Assert.assertEquals(values.headSet(v, true).size(), countRows(table, lessEqual));
+
+      // value > v
+      KuduPredicate greater =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER, v);
+      Assert.assertEquals(values.tailSet(v, false).size(), countRows(table, greater));
+
+      // value < v
+      KuduPredicate less =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS, v);
+      Assert.assertEquals(values.headSet(v).size(), countRows(table, less));
+    }
+  }
+
+  @Test
+  public void testBinaryPredicates() throws Exception {
+    Schema schema = createTableSchema(Type.BINARY);
+    syncClient.createTable("binary-table", schema);
+    KuduTable table = syncClient.openTable("binary-table");
+
+    NavigableSet<String> values = createStringValues();
+    List<String> testValues = createStringTestValues();
+    KuduSession session = syncClient.newSession();
+    session.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
+    long i = 0;
+    for (String value : values) {
+      Insert insert = table.newInsert();
+      insert.getRow().addLong("key", i++);
+      insert.getRow().addBinary("value", Bytes.fromString(value));
+      session.apply(insert);
+    }
+    Insert nullInsert = table.newInsert();
+    nullInsert.getRow().addLong("key", i++);
+    nullInsert.getRow().setNull("value");
+    session.apply(nullInsert);
+    session.flush();
+
+    ColumnSchema col = table.getSchema().getColumn("value");
+    Assert.assertEquals(values.size() + 1, countRows(table));
+
+    for (String s : testValues) {
+      byte[] v = Bytes.fromString(s);
+      // value = v
+      KuduPredicate equal = KuduPredicate.newComparisonPredicate(col, ComparisonOp.EQUAL, v);
+      Assert.assertEquals(values.subSet(s, true, s, true).size(), countRows(table, equal));
+
+      // value >= v
+      KuduPredicate greaterEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER_EQUAL, v);
+      Assert.assertEquals(values.tailSet(s).size(), countRows(table, greaterEqual));
+
+      // value <= v
+      KuduPredicate lessEqual =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS_EQUAL, v);
+      Assert.assertEquals(values.headSet(s, true).size(), countRows(table, lessEqual));
+
+      // value > v
+      KuduPredicate greater =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.GREATER, v);
+      Assert.assertEquals(values.tailSet(s, false).size(), countRows(table, greater));
+
+      // value < v
+      KuduPredicate less =
+          KuduPredicate.newComparisonPredicate(col, ComparisonOp.LESS, v);
+      Assert.assertEquals(values.headSet(s).size(), countRows(table, less));
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-kudu/blob/16c03cda/java/kudu-client/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/java/kudu-client/src/test/resources/log4j.properties b/java/kudu-client/src/test/resources/log4j.properties
index 2d8d287..b1ce4ed 100644
--- a/java/kudu-client/src/test/resources/log4j.properties
+++ b/java/kudu-client/src/test/resources/log4j.properties
@@ -16,7 +16,6 @@
 # under the License.
 
 log4j.rootLogger = DEBUG, out
-log4j.logger.org.kududb = DEBUG, out
 
 log4j.appender.out = org.apache.log4j.ConsoleAppender
 log4j.appender.out.layout = org.apache.log4j.PatternLayout