[
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)