You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Grant Henke (JIRA)" <ji...@apache.org> on 2017/02/08 21:52:41 UTC
[jira] [Created] (KAFKA-4746) Offsets can be committed for the
offsets topic
Grant Henke created KAFKA-4746:
----------------------------------
Summary: Offsets can be committed for the offsets topic
Key: KAFKA-4746
URL: https://issues.apache.org/jira/browse/KAFKA-4746
Project: Kafka
Issue Type: Bug
Components: core
Affects Versions: 0.9.0.0
Reporter: Grant Henke
Though this is likely rare and I don't suspect to many people would try to do this, we should prevent users from committing offsets for the offsets topic into the offsets topic. This would essentially create an infinite loop in any consumer consuming from that topic. Also committing offsets for a compacted topic doesn't likely make sense anyway.
Here is a quick failing test I wrote to see if this guard exists:
{code:title=OffsetCommitTest.scala|borderStyle=solid}
@Test
def testOffsetTopicOffsetCommit() {
val topic1 = "__consumer_offsets"
// Commit an offset
val expectedReplicaAssignment = Map(0 -> List(1))
val commitRequest = OffsetCommitRequest(
groupId = group,
requestInfo = immutable.Map(TopicAndPartition(topic1, 0) -> OffsetAndMetadata(offset=42L)),
versionId = 2
)
val commitResponse = simpleConsumer.commitOffsets(commitRequest)
assertEquals(Errors.INVALID_TOPIC_EXCEPTION.code, commitResponse.commitStatus.get(TopicAndPartition(topic1, 0)).get)
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)