[ https://issues.apache.org/jira/browse/HBASE-27632?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Duo Zhang resolved HBASE-27632. ------------------------------- Fix Version/s: 2.6.0 3.0.0-alpha-4 Hadoop Flags: Reviewed Resolution: Fixed Pushed to master and branch-2. Thanks all for helping and thanks [~GeorryHuang] for reviewing! > Refactor WAL.Reader implementation so we can better support WAL splitting and > replication > ----------------------------------------------------------------------------------------- > > Key: HBASE-27632 > URL: https://issues.apache.org/jira/browse/HBASE-27632 > Project: HBase > Issue Type: Improvement > Components: Replication, wal > Reporter: Duo Zhang > Assignee: Duo Zhang > Priority: Major > Fix For: 2.6.0, 3.0.0-alpha-4 > > > WAL splitting and replication has completely different requirements on WAL > reader, the latter one is much comlicated as it wants to tail a WAL file > which is currently being written. > I think split them into two classes is better here. > But we exposes two configurations out > 'hbase.regionserver.hlog.reader.impl' > 'hbase.regionserver.hlog.writer.impl' > which indicates that we only have one implementation for wal reader. > These two configurations are inrtoduced in 0.96, for reading the pre 0.94 > sequence file format WAL file. And starting from 2.0.0, we have already > dropped the support of reading sequence file format WAL file, so I think the > configurations are useless now. > Now we stil require users to specify SecureProtobufLogReader and > SecureProtobufLogWriter when enable WAL encryption, but actually they are > both the only choice, so just use 'hbase.regionserver.wal.encryption' to > determine whether we need to use SecureProtobufLogWriter to write WAL. And > for reading, I do not think we should rely on the configuration, we should > detect whether the WAL file itself is encrypted(I believe we have already > done this in SecureProtobufLogReader.readHeader. > So in general, I prefer we just mark these two configurations deprecated and > do not use them in our code base, so we can have different Reader > implementations for WAL splitting and replication. -- This message was sent by Atlassian Jira (v8.20.10#820010)