Hello Jean-Daniel Cryans, Adar Dembo, I'd like you to do a code review. Please visit
http://gerrit.cloudera.org:8080/3388 to review the following change. Change subject: KUDU-1309: [java client] support tables with non-covering partition-key ranges ...................................................................... KUDU-1309: [java client] support tables with non-covering partition-key ranges This commit adds support for accessing and creating tables with non-covering range partitions to the Java client. The only public interface introduced is the CreateTableOptions.addRangeBound method. Otherwise, all the changes are necessary for reading or writing to tables with range partition gaps. Right now if a client attempts to write to a non-covered range, a NotFound status is returned, which matches the C++ client. JD pointed out that this makes it impossible for applications to distinguish between failed updates because the row doesn't exist, and failed updates because the partition range doesn't exist. I plan to fix this by introducing a new status code and fixing both clients in a follow up commit. Change-Id: Id65a1f8a95bb16fc0360a17021a391afd3c9d03f --- M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/kududb/client/AsyncKuduSession.java M java/kudu-client/src/main/java/org/kududb/client/Batch.java M java/kudu-client/src/main/java/org/kududb/client/Bytes.java M java/kudu-client/src/main/java/org/kududb/client/CreateTableOptions.java M java/kudu-client/src/main/java/org/kududb/client/CreateTableRequest.java M java/kudu-client/src/main/java/org/kududb/client/KuduRpc.java M java/kudu-client/src/main/java/org/kududb/client/KuduScanner.java A java/kudu-client/src/main/java/org/kududb/client/NonCoveredRangeCache.java A java/kudu-client/src/main/java/org/kududb/client/NonCoveredRangeException.java M java/kudu-client/src/main/java/org/kududb/client/Operation.java M java/kudu-client/src/main/java/org/kududb/client/Partition.java M java/kudu-client/src/main/java/org/kududb/client/RowResultIterator.java M java/kudu-client/src/test/java/org/kududb/client/BaseKuduTest.java M java/kudu-client/src/test/java/org/kududb/client/TestFlexiblePartitioning.java M java/kudu-client/src/test/java/org/kududb/client/TestKuduClient.java M java/kudu-client/src/test/java/org/kududb/client/TestKuduSession.java M java/kudu-client/src/test/java/org/kududb/client/TestKuduTable.java 19 files changed, 698 insertions(+), 99 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/88/3388/1 -- To view, visit http://gerrit.cloudera.org:8080/3388 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id65a1f8a95bb16fc0360a17021a391afd3c9d03f Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert <d...@cloudera.com> Gerrit-Reviewer: Adar Dembo <a...@cloudera.com> Gerrit-Reviewer: Jean-Daniel Cryans