[
https://issues.apache.org/jira/browse/HBASE-8290?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nicolas Liochon updated HBASE-8290:
-----------------------------------
Status: Patch Available (was: Open)
> TestHTableMultiplexer is flaky
> ------------------------------
>
> Key: HBASE-8290
> URL: https://issues.apache.org/jira/browse/HBASE-8290
> Project: HBase
> Issue Type: Bug
> Components: test
> Affects Versions: 0.95.0
> Reporter: Nicolas Liochon
> Assignee: Nicolas Liochon
> Fix For: 0.95.1
>
> Attachments: 8290.v1.patch
>
>
> I reproduce it all the time if I comment the sleep here:
> {code}
> private void verifyAllBufferedPutsHaveFlushed(HTableMultiplexerStatus
> status) {
> int retries = 8;
> int tries = 0;
> do { /*
> try {
> Thread.sleep(2 * TEST_UTIL.getConfiguration().getLong(
> HTableMultiplexer.TABLE_MULTIPLEXER_FLUSH_FREQ_MS, 100));
> tries++;
> } catch (InterruptedException e) {
> Thread.currentThread().interrupt();
> } */
> } while (status.getTotalBufferedCounter() != 0 && tries != retries);
> assertEquals("There are still some buffered puts left in the queue",
> 0, status.getTotalBufferedCounter());
> }
> {code}
> Given that getTotalBufferedCounter is never decremented, there is a
> misunderstanding somewhere. As well, reading plain values without a volatile
> or a synchronized in a MT context is likely to be wrong.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira