[ https://issues.apache.org/jira/browse/KAFKA-12333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
loboxu reassigned KAFKA-12333: ------------------------------ Assignee: loboxu > 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 > Assignee: loboxu > Priority: Major > > 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)