Hongjiang Zhang has uploaded this change for review. ( http://gerrit.cloudera.org:8080/17773
Change subject: KUDU-1260: Fix prefetching bug on Java scanner ...................................................................... KUDU-1260: Fix prefetching bug on Java scanner Add a UT to test prefetching. The UT has two concurrent threads: writing thread and scanner thread. The writing thread records the timestamp of its write, and the scanner thread creates two scanners (w or w/o prefetching), by comparing the scan result of the two scanners, we can verify the prefetching result. When prefetching is enabled, there is a RowResultIterator prefetched and it will override the one which has not yet been consumed in current implementation, as a result, some data will loss. The fix is simple: just use a small queue to cache the prefetching result. Change-Id: I853a041d86c75ec196d7d4ff45af4673c5c5f5cd --- M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java A java/kudu-client/src/test/java/org/apache/kudu/client/TestKuduScannerPrefetching.java 2 files changed, 383 insertions(+), 8 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/73/17773/1 -- To view, visit http://gerrit.cloudera.org:8080/17773 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I853a041d86c75ec196d7d4ff45af4673c5c5f5cd Gerrit-Change-Number: 17773 Gerrit-PatchSet: 1 Gerrit-Owner: Hongjiang Zhang <[email protected]>
