[ 
https://issues.apache.org/jira/browse/HBASE-9657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Dimiduk updated HBASE-9657:
--------------------------------

    Attachment: 
TEST-org.apache.hadoop.hbase.regionserver.wal.TestLogRolling.xml.gz

Attaching the test failure output I observed yesterday. The TL;DR:

{noformat}
java.lang.AssertionError: LowReplication Roller should've been disabled, 
current replication=2
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.assertTrue(Assert.java:41)
        at 
org.apache.hadoop.hbase.regionserver.wal.TestLogRolling.testLogRollOnDatanodeDeath(TestLogRolling.java:400)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
{noformat}

I'm running this test a few more times in the same environment (0.96) to see 
how flakey it actually is. Will report back.
                
> Race condition in low replication checking and FSHLog#rollWriter()
> ------------------------------------------------------------------
>
>                 Key: HBASE-9657
>                 URL: https://issues.apache.org/jira/browse/HBASE-9657
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>            Priority: Trivial
>         Attachments: 9657-v1.txt, 9657-v2.txt, 
> TEST-org.apache.hadoop.hbase.regionserver.wal.TestLogRolling.xml.gz
>
>
> In FSHLog#syncer(), we have this comment:
> {code}
>       // TODO: preserving the old behavior for now, but this check is 
> strange. It's not
>       //       protected by any locks here, so for all we know rolling locks 
> might start
>       //       as soon as we enter the "if". Is this best-effort optimization 
> check?
>       if (!this.logRollRunning) {
>         checkLowReplication();
> {code}
> The implication is that checkLowReplication() may be running when 
> FSHLog#rollWriter() is also running.

--
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

Reply via email to