HBASE-15079 TestMultiParallel.validateLoadedData AssertionError: null
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/f3ee6df0 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/f3ee6df0 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/f3ee6df0 Branch: refs/heads/trunk Commit: f3ee6df0f2d0955c2b334a9131eb3994c00af0c4 Parents: 5bde960 Author: stack <st...@apache.org> Authored: Thu Jan 7 15:35:59 2016 -0800 Committer: stack <st...@apache.org> Committed: Thu Jan 7 15:36:49 2016 -0800 ---------------------------------------------------------------------- .../hadoop/hbase/client/TestMultiParallel.java | 39 ++++++++++++++++++-- 1 file changed, 35 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/f3ee6df0/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java index b2c5c11..af3a54e 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java @@ -683,13 +683,44 @@ public class TestMultiParallel { private void validateLoadedData(Table table) throws IOException { // get the data back and validate that it is correct LOG.info("Validating data on " + table); + List<Get> gets = new ArrayList<Get>(); for (byte[] k : KEYS) { Get get = new Get(k); get.addColumn(BYTES_FAMILY, QUALIFIER); - Result r = table.get(get); - Assert.assertTrue(r.containsColumn(BYTES_FAMILY, QUALIFIER)); - Assert.assertEquals(0, Bytes.compareTo(VALUE, r - .getValue(BYTES_FAMILY, QUALIFIER))); + gets.add(get); + } + int retryNum = 10; + Result[] results = null; + do { + results = table.get(gets); + boolean finished = true; + for (Result result : results) { + if (result.isEmpty()) { + finished = false; + break; + } + } + if (finished) { + break; + } + try { + Thread.sleep(10); + } catch (InterruptedException e) { + } + retryNum--; + } while (retryNum > 0); + + if (retryNum == 0) { + fail("Timeout for validate data"); + } else { + if (results != null) { + for (Result r : results) { + Assert.assertTrue(r.containsColumn(BYTES_FAMILY, QUALIFIER)); + Assert.assertEquals(0, Bytes.compareTo(VALUE, r + .getValue(BYTES_FAMILY, QUALIFIER))); + } + LOG.info("Validating data on " + table + " successfully!"); + } } }