[ https://issues.apache.org/jira/browse/KAFKA-12253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jose Armando Garcia Sancio updated KAFKA-12253: ----------------------------------------------- Description: Add tests for the cases that ReplicatedLog::validateOffsetAndEpoch needs to cover. This include: # epoch > last known epoch => return diverging(log.endOffset, log.lastFetchedEpoch) # epoch < oldest snapshot epoch => return snapshot(latestSnapshotId) # epoch == oldest snapshot epoch: ## offset < oldest snapshot offset => return snapshot(latestSnapshotId) ## offset == oldest snapshot offset => return valid # Now look up end offset for epoch: ## epoch unknown, less than the last known epoch and greater oldest snapshot epoch => return diverging(endOffset/epoch) ## found epoch; end offset < offset => return diverging(endOffset/epoch) ## valid was: Add tests for the cases that ReplicatedLog::validateOffsetAndEpoch needs to cover. This include: # epoch > last known epoch => return diverging(log.endOffset, log.lastFetchedEpoch) # epoch < oldest snapshot epoch => return snapshot(latestSnapshotId) # epoch == oldest snapshot epoch: ## offset < oldest snapshot offset => return snapshot(latestSnapshotId) ## offset == oldest snapshot offset => return valid # Now look up end offset for epoch: ## epoch unknown => return diverging(endOffset/epoch) ## found epoch; end offset < offset => return diverging(endOffset/epoch) ## valid > Add tests that cover all of all of the cases for > ReplicatedLog::validateOffsetAndEpoch > -------------------------------------------------------------------------------------- > > Key: KAFKA-12253 > URL: https://issues.apache.org/jira/browse/KAFKA-12253 > Project: Kafka > Issue Type: Sub-task > Components: replication > Reporter: Jose Armando Garcia Sancio > Assignee: Rohit Deshpande > Priority: Major > > Add tests for the cases that ReplicatedLog::validateOffsetAndEpoch needs to > cover. This include: > > # epoch > last known epoch => return diverging(log.endOffset, > log.lastFetchedEpoch) > # epoch < oldest snapshot epoch => return snapshot(latestSnapshotId) > # epoch == oldest snapshot epoch: > ## offset < oldest snapshot offset => return snapshot(latestSnapshotId) > ## offset == oldest snapshot offset => return valid > # Now look up end offset for epoch: > ## epoch unknown, less than the last known epoch and greater oldest snapshot > epoch => return diverging(endOffset/epoch) > ## found epoch; end offset < offset => return diverging(endOffset/epoch) > ## valid -- This message was sent by Atlassian Jira (v8.3.4#803005)