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)