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)