You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2013/06/22 00:14:21 UTC
[jira] [Updated] (HBASE-8599) HLogs in ZK are not cleaned up when
replication lag is minimal
[ https://issues.apache.org/jira/browse/HBASE-8599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-8599:
---------------------------------
Any update [~varunsharma]?
Moving 0.94.10 for now.
> HLogs in ZK are not cleaned up when replication lag is minimal
> --------------------------------------------------------------
>
> Key: HBASE-8599
> URL: https://issues.apache.org/jira/browse/HBASE-8599
> Project: HBase
> Issue Type: Improvement
> Components: Replication
> Affects Versions: 0.98.0, 0.94.7
> Reporter: Varun Sharma
> Assignee: Varun Sharma
> Fix For: 0.98.0, 0.94.9
>
> Attachments: 8599-0.94.patch, 8599-trunk.patch
>
>
> On a cluster with very low replication lag (as measured by ageOfLastShippedOp on source), we found HLogs accumulating and not being cleaned up as new WAL(s) are rolled.
> Each time, we call logPositionAndCleanOldLogs() to clean older logs whenever the current WAL is not being written to any more - as suggested by currentWALBeingWrittenTo being false. However, when lags are small, we may hit the following block first and continue onto the next WAL without clearing the old WAL(s)...
> ReplicationSource::run() {
> if (readAllEntriesToReplicateOrNextFile(currentWALisBeingWrittenTo = false)) {
> // If we are here, then we advance to the next WAL without any cleaning
> // and close existing WAL
> continue;
> }
> // Ship some edits and call logPositionAndCleanOldLogs
> }
> If we hit readAllEntriesToReplicateOrNextFile(false) only once - then older logs are not cleaned out and persist in the zookeeper node since we simply call "continue" and skip the subsequent logPositionAndCleanOldLogs call - if its called more than once, we do end up clearing the old logs.
--
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