You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "karthik (JIRA)" <ji...@apache.org> on 2016/11/29 06:26:59 UTC

[jira] [Created] (KUDU-1766) Equal predicate with MAX_VALUE of Integer/Long not working

karthik created KUDU-1766:
-----------------------------

             Summary: 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:

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"));
                }
            }



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)