Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.1.1, 2.0.0
-
None
-
None
Description
When we change one of the follower's system time to future for some time, then change the system time back, we will find the replication not working.
this is because the replication thread need to determine:
buildFetchRequest -> partitionFetchState.isReadyForFetch
and the DelayedItem's dueMs time is future, but after change back the system time,
in the DelayedItem's 's getDelay function will have a large time:
def getDelay(unit: TimeUnit): Long =
{ unit.convert(max(dueMs - Time.SYSTEM.milliseconds, 0), TimeUnit.MILLISECONDS) }due to dueMs is future time