Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
3.0.0-alpha-1
-
None
Description
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.