private static <T extends RegionObserver> T find(final TableName tableName, Class<T> clz)
    throws IOException, InterruptedException {
    HRegion region = find(tableName);
    Coprocessor cp = region.getCoprocessorHost().findCoprocessor(clz.getName());
    assertTrue("The cp instance should be " + clz.getName() + ", current instance is "
      + cp.getClass().getName(), clz.isInstance(cp));
    return clz.cast(cp);
  }
A test case for issue HBASE-17482 After combile seqid with mvcc readpoint, seqid/mvcc is
acquired and stamped onto cells in the append thread, a countdown latch is used to ensure that
happened before cells can be put into memstore. But the MVCCPreAssign patch(HBASE-16698) make
the seqid/mvcc acquirement in handler thread and stamping in append thread No countdown latch
to assure cells in memstore are stamped with seqid/mvcc. If cells without mvcc(A.K.A mvcc=0)
are put into memstore, then a scanner with a smaller readpoint can see these data, which
disobey the multi version concurrency control rules. This test case is to reproduce this
scenario.
hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide3.java