[
https://issues.apache.org/jira/browse/KAFKA-4746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15858659#comment-15858659
]
Jason Gustafson commented on KAFKA-4746:
----------------------------------------
I never thought of someone trying this, but it makes sense to forbid it. I'm
not sure why you say committing offsets for a compacted topic doesn't make
sense though. Can you elaborate?
> 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)