You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Esteban Gutierrez (JIRA)" <ji...@apache.org> on 2018/05/18 19:22:00 UTC

[jira] [Created] (HBASE-20604) ProtobufLogReader#readNext can incorrectly loop to the same position in the stream until the the WAL is rolled

Esteban Gutierrez created HBASE-20604:
-----------------------------------------

             Summary: ProtobufLogReader#readNext can incorrectly loop to the same position in the stream until the the WAL is rolled
                 Key: HBASE-20604
                 URL: https://issues.apache.org/jira/browse/HBASE-20604
             Project: HBase
          Issue Type: Bug
          Components: Replication, wal
    Affects Versions: 3.0.0, 2.1.0, 1.5.0
            Reporter: Esteban Gutierrez


Every time we call {{ProtobufLogReader#readNext}} we consume the input stream associated to the {{FSDataInputStream}} from the WAL that we are reading. Under certain conditions, e.g. when using the encryption at rest ({{CryptoInputStream}}) the stream can return partial data which can cause a premature EOF that cause {{inputStream.getPos()}} to return to the same origina position causing {{ProtobufLogReader#readNext}} to re-try over the reads until the WAL is rolled.

The side effect of this issue is that {{ReplicationSource}} can get stuck until the WAL is rolled and causing replication delays up to an hour in some cases.




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)