public long getWriteBufferSize() { return bufferedMutator.getWriteBufferSize(); }
@Test @Ignore(value="We need a better test now that BigtableBufferedMutator has different logic") public void testBufferSizeFlush() throws Exception { int maxSize = 1024; BufferedMutatorParams params = new BufferedMutatorParams(sharedTestEnv.getDefaultTableName()) .writeBufferSize(maxSize); try (BufferedMutator mutator = getConnection().getBufferedMutator(params)) { // HBase 1.0.0 has a bug in it. It returns maxSize instead of the buffer size for // getWriteBufferSize. https://issues.apache.org/jira/browse/HBASE-13113 Assert.assertTrue( 0 == mutator.getWriteBufferSize() || maxSize == mutator.getWriteBufferSize()); Put put = getPut(); mutator.mutate(put); Assert.assertTrue(mutator.getWriteBufferSize() > 0); Put largePut = new Put(dataHelper.randomData("testrow-")); largePut.addColumn(COLUMN_FAMILY, qualifier, Bytes.toBytes(RandomStringUtils.randomAlphanumeric(maxSize * 2))); long heapSize = largePut.heapSize(); Assert.assertTrue("largePut heapsize is : " + heapSize, heapSize > maxSize); mutator.mutate(largePut); // HBase 1.0.0 has a bug in it. It returns maxSize instead of the buffer size for // getWriteBufferSize. https://issues.apache.org/jira/browse/HBASE-13113 Assert.assertTrue( 0 == mutator.getWriteBufferSize() || maxSize == mutator.getWriteBufferSize()); } }