You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Apache9 (via GitHub)" <gi...@apache.org> on 2023/02/28 11:15:55 UTC

[GitHub] [hbase] Apache9 commented on pull request #5055: HBASE-27632 Refactor WAL.Reader implementation so we can better suppo…

Apache9 commented on PR #5055:
URL: https://github.com/apache/hbase/pull/5055#issuecomment-1448000341

   The PR is big, but most files are just boiler plate changes as we changed the class name for reading a WAL file.
   
   The most important things are:
   
   1. Introduced two types of WAL readers, WALStreamReader and WALTailingReader. The implementation classes are ProtobufWALStreamReader and ProtobufWALTailingReader, and they share the same base class AbstractProtobufWALReader.
   2. For WALStreamReader, we still need to the ability to read from a specific position(in WALInputFormat, for recovering from an error), instead of introducing a seek method, we add a startPosition parameter when creating a WALStreamReader.
   3. The logging splitting related logics are almost the same, as the API does not change too much.
   4. For WALTailingReader, it does not throw any exceptions now, we introduce a State to indicate the reader's state and what you need to do after issuing a next call. So the WALEntryStream is also changed a lot, as well as ReplicationSourceWALReader.
   5. For verifying that we could correctly deal with partial WAL file, we introduced a TestParsePartialWALFile, please see the comments of this file for more details.
   
   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.

To unsubscribe, e-mail: issues-unsubscribe@hbase.apache.org

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