[ 
https://issues.apache.org/jira/browse/KAFKA-576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yang Ye updated KAFKA-576:
--------------------------

    Attachment: kafka_576_v1.diff


1. add --no-wait-logend command line option

2. bug found, before in SimpleConsumer line 40:
      val request = if(isFromOrdinaryConsumer)
        OffsetRequest(immutable.Map(topicAndPartition -> 
PartitionOffsetRequestInfo(earliestOrLatest, 1)))
      else
        OffsetRequest(immutable.Map(topicAndPartition -> 
PartitionOffsetRequestInfo(earliestOrLatest, 1)), Request.DebuggingConsumerId)

In the else branch, we are intending to use another constructor, but it turned 
out if we used this way, it's the same constructor. By using "new 
OffsetRequest(...", we uses the constructor we want, as bellow:

      val request = if(isFromOrdinaryConsumer)
        OffsetRequest(immutable.Map(topicAndPartition -> 
PartitionOffsetRequestInfo(earliestOrLatest, 1)))
      else
        new OffsetRequest(immutable.Map(topicAndPartition -> 
PartitionOffsetRequestInfo(earliestOrLatest, 1)), Request.DebuggingConsumerId)


                
> SimpleConsumer throws UnsupportedOperationException: empty.head 
> ----------------------------------------------------------------
>
>                 Key: KAFKA-576
>                 URL: https://issues.apache.org/jira/browse/KAFKA-576
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: John Fung
>            Assignee: Yang Ye
>         Attachments: kafka_576_v1.diff, kafka_server_9093.log.gz
>
>
> * In this case, there are 15 log segment files in broker-1 data dir:
> ls -l /tmp/kafka_server_1_logs/test_1-0/
> total 240
> -rw-r--r-- 1 jfung eng    16 Oct 16 10:41 00000000000000000000.index
> -rw-r--r-- 1 jfung eng 10440 Oct 16 10:40 00000000000000000000.log
> -rw-r--r-- 1 jfung eng     8 Oct 16 10:41 00000000000000000020.index
> -rw-r--r-- 1 jfung eng 10440 Oct 16 10:40 00000000000000000020.log
> . . .
> -rw-r--r-- 1 jfung eng     8 Oct 16 10:41 00000000000000000280.index
> -rw-r--r-- 1 jfung eng 10440 Oct 16 10:41 00000000000000000280.log
> * The following are the dump log segment of the first log segment file
> bin/kafka-run-class.sh kafka.tools.DumpLogSegments 
> /tmp/kafka_server_1_logs/test_1-0/00000000000000000000.log 
> Dumping /tmp/kafka_server_1_logs/test_1-0/00000000000000000000.log
> Starting offset: 0
> offset: 0 isvalid: true payloadsize: 500 magic: 2 compresscodec: 
> NoCompressionCodec crc: 1663889063
> offset: 1 isvalid: true payloadsize: 500 magic: 2 compresscodec: 
> NoCompressionCodec crc: 2803454828
> offset: 2 isvalid: true payloadsize: 500 magic: 2 compresscodec: 
> NoCompressionCodec crc: 683347625
> . . .
> offset: 18 isvalid: true payloadsize: 500 magic: 2 compresscodec: 
> NoCompressionCodec crc: 1892511043
> offset: 19 isvalid: true payloadsize: 500 magic: 2 compresscodec: 
> NoCompressionCodec crc: 601297044
> * Output of SimpleConsumerShell:
> . . .
> next offset = 16
> Topic:test_1:ThreadID:2:MessageID:0000000043:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> next offset = 17
> Topic:test_1:ThreadID:3:MessageID:0000000063:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> next offset = 18
> Topic:test_1:ThreadID:4:MessageID:0000000083:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> next offset = 19
> Topic:test_1:ThreadID:0:MessageID:0000000003:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> next offset = 19
> Topic:test_1:ThreadID:0:MessageID:0000000003:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> next offset = 19
> Topic:test_1:ThreadID:0:MessageID:0000000003:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> next offset = 19
> Topic:test_1:ThreadID:0:MessageID:0000000003:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
>  
> . . .
> * It appears that SimpleConsumerShell doesn't advance to the next log segment 
> file
> * It should probably block inside the while loop to prevent infinite looping

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to