[
https://issues.apache.org/jira/browse/PHOENIX-7978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Himanshu Gwalani resolved PHOENIX-7978.
---------------------------------------
Resolution: Fixed
> Replication replay/forward can skip a round when the aligned poll wake fires
> just before the wall-clock eligibility boundary
> ----------------------------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-7978
> URL: https://issues.apache.org/jira/browse/PHOENIX-7978
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Himanshu Gwalani
> Assignee: Himanshu Gwalani
> Priority: Major
> Fix For: PHOENIX-7562-feature, 5.4.0
>
>
> The replay/forward round-eligibility gate is evaluated on the wall clock, but
> PHOENIX-7813 aligned the scheduler wake — fired on the monotonic clock
> (System.nanoTime) — to that boundary with zero margin. Small
> nanoTime-vs-wall-clock drift can tip a wake just below the boundary, so the
> round is not yet eligible and the region server loses a full (~60s) cycle.
> Most damaging during planned failover.
>
> Fix (shared base class ReplicationLogDiscovery, inherited by replay +
> forwarder):
> 1. Epsilon margin so the aligned wake lands just after the boundary rather
> than exactly on it
> (config phoenix.replication.discovery.aligned.delay.epsilon.millis,
> default 500ms).
> 2. Re-anchor to the wall-clock grid every cycle (self-rescheduling one-shot
> instead of
> scheduleAtFixedRate) so alignment error cannot accumulate.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)