Solvannan R M created HBASE-22784:
-------------------------------------
Summary: OldWALs not cleared in a replication slave cluster
(cyclic replication bw 2 clusters)
Key: HBASE-22784
URL: https://issues.apache.org/jira/browse/HBASE-22784
Project: HBase
Issue Type: Bug
Components: regionserver, Replication
Affects Versions: 1.4.10, 1.4.9
Reporter: Solvannan R M
When a cluster is passive (receiving edits only via replication) in a cyclic
replication setup of 2 clusters, OldWALs size keeps on growing. On analysing,
we observed the following behaviour.
# New entry is added to WAL (Edit replicated from other cluster).
# ReplicationSourceWALReaderThread(RSWALRT) reads and applies the configured
filters (due to cyclic replication setup, ClusterMarkingEntryFilter discards
new entry from other cluster).
# Entry is null, RSWALRT neither updates the batch stats
(WALEntryBatch.lastWalPosition) nor puts it in the entryBatchQueue.
# ReplicationSource thread is blocked in entryBachQueue.take().
# So ReplicationSource#updateLogPosition has never invoked and WAL file is
never cleared from ReplicationQueue.
# Hence LogCleaner on the master, doesn't deletes the oldWAL files from hadoop.
NOTE: When a new edit is added via hbase-client, ReplicationSource thread
process and clears the oldWAL files from replication queues and hence master
cleans up the WALs
Please provide us a solution
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)