Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.6.0, 3.0.0-alpha-3, 2.4.17, 2.5.4
-
None
Description
When we read a new WAL Entry in ReplicationSourceWALReader.readWALEntries, we add ReplicationSourceWALReader.totalBufferUsed by the size of new entry in ReplicationSourceWALReader.addEntryToBatch, but the whole WALEntryBatch may not be put to the ReplicationSourceWALReader.entryBatchQueue because of exception(eg. exception thrown by WALEntryFilter.filter for following WAL Entry), and the ReplicationSourceWALReader.totalBufferUsed is not decreased in this case. Because the ReplicationSourceWALReader.totalBufferUsed is actually scoped to ReplicationSourceManager, after a long run, replication to all peers may hang up.