You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Dan Burkert (JIRA)" <ji...@apache.org> on 2016/11/29 17:36:58 UTC
[jira] [Updated] (KUDU-1766) Equal predicate with MAX_VALUE of
Integer/Long not working
[ https://issues.apache.org/jira/browse/KUDU-1766?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Burkert updated KUDU-1766:
------------------------------
Description:
Equal predicate is working for Integer.MIN_VALUE to (Integer.MAX_VALUE - 1) and failing for Integer.MAX_VALUE.
To replicate:
{code}
String tableName = "java_sample-" + System.currentTimeMillis();
KuduClient client = new KuduClient.KuduClientBuilder(KUDU_MASTER).build();
Integer key = Integer.MAX_VALUE;
List<ColumnSchema> columns = new ArrayList<>(2);
columns.add(new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32).key(true).build());
columns.add(new ColumnSchema.ColumnSchemaBuilder("value", Type.STRING).build());
List<String> rangeKeys = new ArrayList<>();
rangeKeys.add("key");
Schema schema = new Schema(columns);
client.createTable(tableName, schema, new CreateTableOptions().setRangePartitionColumns(rangeKeys));
KuduTable table = client.openTable(tableName);
KuduSession session = client.newSession();
Insert insert = table.newInsert();
PartialRow row = insert.getRow();
row.addInt(0, key);
row.addString(1, "dev");
session.apply(insert);
KuduPredicate predicate = KuduPredicate.newComparisonPredicate(
new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32).key(true).build(),
KuduPredicate.ComparisonOp.EQUAL, key);
KuduScanner scanner = client.newScannerBuilder(table).addPredicate(predicate).build();
while (scanner.hasMoreRows())
{
RowResultIterator results = scanner.nextRows();
while (results.hasNext())
{
System.out.println("Find with EQUAL predicate...");
RowResult result = results.next();
System.out.println(result.getInt("key"));
System.out.println(result.getString("value"));
}
}
{code}
was:
Equal predicate is working for Integer.MIN_VALUE to (Integer.MAX_VALUE - 1) and failing for Integer.MAX_VALUE.
To replicate:
String tableName = "java_sample-" + System.currentTimeMillis();
KuduClient client = new KuduClient.KuduClientBuilder(KUDU_MASTER).build();
Integer key = Integer.MAX_VALUE;
List<ColumnSchema> columns = new ArrayList<>(2);
columns.add(new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32).key(true).build());
columns.add(new ColumnSchema.ColumnSchemaBuilder("value", Type.STRING).build());
List<String> rangeKeys = new ArrayList<>();
rangeKeys.add("key");
Schema schema = new Schema(columns);
client.createTable(tableName, schema, new CreateTableOptions().setRangePartitionColumns(rangeKeys));
KuduTable table = client.openTable(tableName);
KuduSession session = client.newSession();
Insert insert = table.newInsert();
PartialRow row = insert.getRow();
row.addInt(0, key);
row.addString(1, "dev");
session.apply(insert);
KuduPredicate predicate = KuduPredicate.newComparisonPredicate(
new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32).key(true).build(),
KuduPredicate.ComparisonOp.EQUAL, key);
KuduScanner scanner = client.newScannerBuilder(table).addPredicate(predicate).build();
while (scanner.hasMoreRows())
{
RowResultIterator results = scanner.nextRows();
while (results.hasNext())
{
System.out.println("Find with EQUAL predicate...");
RowResult result = results.next();
System.out.println(result.getInt("key"));
System.out.println(result.getString("value"));
}
}
> Equal predicate with MAX_VALUE of Integer/Long not working
> ----------------------------------------------------------
>
> Key: KUDU-1766
> URL: https://issues.apache.org/jira/browse/KUDU-1766
> Project: Kudu
> Issue Type: Bug
> Components: client
> Affects Versions: 1.1.0
> Environment: Used cloudera kudu sandbox 5.8.0
> Reporter: karthik
>
> Equal predicate is working for Integer.MIN_VALUE to (Integer.MAX_VALUE - 1) and failing for Integer.MAX_VALUE.
> To replicate:
> {code}
> String tableName = "java_sample-" + System.currentTimeMillis();
> KuduClient client = new KuduClient.KuduClientBuilder(KUDU_MASTER).build();
>
> Integer key = Integer.MAX_VALUE;
> List<ColumnSchema> columns = new ArrayList<>(2);
> columns.add(new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32).key(true).build());
> columns.add(new ColumnSchema.ColumnSchemaBuilder("value", Type.STRING).build());
> List<String> rangeKeys = new ArrayList<>();
> rangeKeys.add("key");
> Schema schema = new Schema(columns);
> client.createTable(tableName, schema, new CreateTableOptions().setRangePartitionColumns(rangeKeys));
> KuduTable table = client.openTable(tableName);
> KuduSession session = client.newSession();
> Insert insert = table.newInsert();
> PartialRow row = insert.getRow();
> row.addInt(0, key);
> row.addString(1, "dev");
> session.apply(insert);
> KuduPredicate predicate = KuduPredicate.newComparisonPredicate(
> new ColumnSchema.ColumnSchemaBuilder("key", Type.INT32).key(true).build(),
> KuduPredicate.ComparisonOp.EQUAL, key);
> KuduScanner scanner = client.newScannerBuilder(table).addPredicate(predicate).build();
> while (scanner.hasMoreRows())
> {
> RowResultIterator results = scanner.nextRows();
> while (results.hasNext())
> {
> System.out.println("Find with EQUAL predicate...");
> RowResult result = results.next();
> System.out.println(result.getInt("key"));
> System.out.println(result.getString("value"));
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)