Jose Armando Garcia Sancio created KAFKA-12333:
--------------------------------------------------
Summary: KafkaMetadataLog and MockLock should validate that
appended epochs are monotonically
Key: KAFKA-12333
URL: https://issues.apache.org/jira/browse/KAFKA-12333
Project: Kafka
Issue Type: Sub-task
Components: replication
Reporter: Jose Armando Garcia Sancio
Both the MockLog and KafkaMetadataLog should only allow appendAsLeader and
appendAsFollower with monotonically increasing epochs. In other words the
following test in KafkaMetadataLogTest should fail:
{code:java}
@Test
def testOutOfOrderEpoch(): Unit = {
val topicPartition = new TopicPartition("cluster-metadata", 0)
val log = buildMetadataLog(tempDir, mockTime, topicPartition) val
recordFoo = new SimpleRecord("foo".getBytes())
val currentEpoch = 3
val initialOffset = log.endOffset().offset log.appendAsLeader(
MemoryRecords.withRecords(initialOffset, CompressionType.NONE,
currentEpoch, recordFoo),
currentEpoch
) // Out order epoch should throw an exception
log.appendAsLeader(
MemoryRecords.withRecords(
initialOffset + 1, CompressionType.NONE, currentEpoch - 1, recordFoo
),
currentEpoch - 1
) log.appendAsFollower(
MemoryRecords.withRecords(
initialOffset + 2, CompressionType.NONE, currentEpoch - 2, recordFoo
)
)
} {code}
The same for MockLogTest.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)