[
https://issues.apache.org/jira/browse/PHOENIX-7640?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Kyle Purtell updated PHOENIX-7640:
-----------------------------------------
Description:
Let's refactor ReplicationLog so we can have one instance of it managing a
group of replication logs for a given 'HA Group' (refer to design doc). We can
name the result ReplicationLogGroup.
While in here let's prepare for store and forward by splitting
ReplicationLogGroup into ReplicationLogGroup (manager + API for higher layers)
and ReplicationLogGroupWriter (base class) and StandbyLogGroupWriter
(synchronous replication impl) and StoreAndForwardLogGroupWriter (stub).
ReplicationLogGroup will provide append() and sync() to higher layers and
delegate to either a StandbyLogGroupWriter instance or
StoreAndForwardLogGroupWriter. ReplicationLogGroupWriter will be the base class
for StandbyLogGroupWriter and StoreAndForwardLogGroupWriter and will contain
most of the functionality. StandbyLogGroupWriter will be thin.
StoreAndForwardLogGroupWriter will be a stub.
Feel free to suggest other potentially better names on the PR.
was:
Let's refactor ReplicationLog so we can have one instance of it managing a
group of replication logs for a given 'HA Group' (refer to design doc). We can
name the result ReplicationLogGroup.
While in here let's prepare for store and forward by splitting
ReplicationLogGroup into ReplicationLogGroup (manager + API for higher layers)
and ReplicationLogGroupWriter (interface) and StandbyLogGroupWriter
(synchronous replication impl) and StoreAndForwardLogGroupWriter (stub).
ReplicationLogGroup will provide append() and sync() to higher layers and
delegate to either a StandbyLogGroupWriter instance or
StoreAndForwardLogGroupWriter. ReplicationLogGroupWriter will be the base class
for StandbyLogGroupWriter and StoreAndForwardLogGroupWriter and will contain
most of the functionality. StandbyLogGroupWriter will be thin.
StoreAndForwardLogGroupWriter will be a stub.
Feel free to suggest other potentially better names on the PR.
> Refactor ReplicationLog for HA Groups
> -------------------------------------
>
> Key: PHOENIX-7640
> URL: https://issues.apache.org/jira/browse/PHOENIX-7640
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Andrew Kyle Purtell
> Assignee: Andrew Kyle Purtell
> Priority: Major
>
> Let's refactor ReplicationLog so we can have one instance of it managing a
> group of replication logs for a given 'HA Group' (refer to design doc). We
> can name the result ReplicationLogGroup.
> While in here let's prepare for store and forward by splitting
> ReplicationLogGroup into ReplicationLogGroup (manager + API for higher
> layers) and ReplicationLogGroupWriter (base class) and StandbyLogGroupWriter
> (synchronous replication impl) and StoreAndForwardLogGroupWriter (stub).
> ReplicationLogGroup will provide append() and sync() to higher layers and
> delegate to either a StandbyLogGroupWriter instance or
> StoreAndForwardLogGroupWriter. ReplicationLogGroupWriter will be the base
> class for StandbyLogGroupWriter and StoreAndForwardLogGroupWriter and will
> contain most of the functionality. StandbyLogGroupWriter will be thin.
> StoreAndForwardLogGroupWriter will be a stub.
> Feel free to suggest other potentially better names on the PR.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)