You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by GitBox <gi...@apache.org> on 2020/09/17 14:06:10 UTC

[GitHub] [hbase] Apache9 commented on pull request #2413: Add a new ReplicationSource for hbase:meta WAL files. The new

Apache9 commented on pull request #2413:
URL: https://github.com/apache/hbase/pull/2413#issuecomment-694259641


   After rethinking, I think there are several ways to simplify the implementation.
   
   1. Instead of adding a new isQueueStored flag, we could just implement a ReplicationQueueStorage which stores nothing? Then we do not need to add checks everywhere.
   2. Since the ReplicationSource for meta is a special one, we do not need to add it to the replication source map in ReplicationSourceManager, just give it a special field.
   3. Passing the WALProvider for meta when calling the addHBaseMetaSource method, instead of changing lots of constructors and initialization methods in the replication related code base to pass WALFactory. Or maybe we just need to add a special WALActionListener to WALProvider for meta, if meta replication is enabled, we call some special method in ReplicationSourceManager(maybe introduce preMetaLogRoll and postMetaLogRoll methods to ReplicationSourceManager?), then we even do not need to add the addHBaseMetaSource method? In ReplicationSourceManager, if preMetaLogRoll is called and we find out that there is still no replication source for it, we just create one. Of course we still need to the removeHBaseMetaSource method, as we will not close WALProvider for meta even if meta region has already been moved out so we can not implement the logic through WALActionListener(maybe it will be good if we implement this logic? Not sure).
   
   Thanks.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org