[ 
https://issues.apache.org/jira/browse/KAFKA-3296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15348485#comment-15348485
 ] 

Piotr Trzpil commented on KAFKA-3296:
-------------------------------------

I can successfully reproduce this issue in AWS EC2, running kafka 0.10.0.0 
cluster with 3 brokers with autogenerated IDs.
The problem occurs if I restart all of the brokers (so the restarted brokers 
will get new IDs) before reassiging the __consumer_offsets topic partitions

1. Initial state (got using kafkacat): 

{noformat}
3 brokers:
 broker 1015 at ec2-<removed>.eu-west-1.compute.amazonaws.com:9092
 broker 1016 at ec2-<removed>.eu-west-1.compute.amazonaws.com:9092
 broker 1017 at ec2-<removed>.eu-west-1.compute.amazonaws.com:9092

topic "__consumer_offsets" with 50 partitions:
    partition 23, leader 1016, replicas: 1017,1015,1016, isrs: 1015,1016,1017
    partition 41, leader 1016, replicas: 1017,1015,1016, isrs: 1015,1016,1017
    partition 32, leader 1016, replicas: 1017,1015,1016, isrs: 1015,1016,1017
    partition 8, leader 1016, replicas: 1017,1015,1016, isrs: 1015,1016,1017

{noformat}

2. Then, after restarting all of the brokers, the leaders are not available, as 
expected:
    
{noformat}
3 brokers:
 broker 1019 at ec2-<removed>.eu-west-1.compute.amazonaws.com:9092
 broker 1018 at ec2-<removed>.eu-west-1.compute.amazonaws.com:9092
 broker 1020 at ec2-<removed>.eu-west-1.compute.amazonaws.com:9092
...
topic "__consumer_offsets" with 50 partitions:
 partition 23, leader -1, replicas: , isrs: , Broker: Leader not available
 partition 32, leader -1, replicas: , isrs: , Broker: Leader not available
 partition 41, leader -1, replicas: , isrs: , Broker: Leader not available
 partition 17, leader -1, replicas: , isrs: , Broker: Leader not available
 ...
{noformat}

3. However, after generating a reassignment plan for the new brokers and 
executing it, the isrs list is empty and the leaders are still not chosen.

{noformat}
 topic "__consumer_offsets" with 50 partitions:
  partition 23, leader -1, replicas: 1018,1019,1020, isrs: , Broker: Leader not 
available
  partition 32, leader -1, replicas: 1018,1019,1020, isrs: , Broker: Leader not 
available
  partition 41, leader -1, replicas: 1018,1019,1020, isrs: , Broker: Leader not 
available
  partition 17, leader -1, replicas: 1018,1019,1020, isrs: , Broker: Leader not 
available
{noformat}

4. Only after restarting one of the brokers (chosen at random) with the same 
ID, this situation is fixed:

{noformat}
topic "__consumer_offsets" with 50 partitions:
  partition 23, leader 1020, replicas: 1018,1019,1020, isrs: 1020,1018,1019
  partition 32, leader 1020, replicas: 1018,1019,1020, isrs: 1020,1018,1019
  partition 41, leader 1020, replicas: 1018,1019,1020, isrs: 1020,1018,1019
  partition 17, leader 1020, replicas: 1018,1019,1020, isrs: 1020,1018,1019
{noformat}

But, this issue does not happen if only one broker is restarted with a new ID 
before executing partition reassignment.

> All consumer reads hang indefinately
> ------------------------------------
>
>                 Key: KAFKA-3296
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3296
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.9.0.0, 0.9.0.1
>            Reporter: Simon Cooper
>            Priority: Critical
>         Attachments: controller.zip, kafkalogs.zip
>
>
> We've got several integration tests that bring up systems on VMs for testing. 
> We've recently upgraded to 0.9, and very occasionally we occasionally see an 
> issue where every consumer that tries to read from the broker hangs, spamming 
> the following in their logs:
> {code}2016-02-26T12:25:37,856 | DEBUG | o.a.k.c.NetworkClient 
> [pool-10-thread-1] | Sending metadata request 
> ClientRequest(expectResponse=true, callback=null, 
> request=RequestSend(header={api_key=3,api_version=0,correlation_id=21905,client_id=consumer-1},
>  body={topics=[Topic1]}), isInitiatedByNetworkClient, 
> createdTimeMs=1456489537856, sendTimeMs=0) to node 1
> 2016-02-26T12:25:37,856 | DEBUG | o.a.k.c.Metadata [pool-10-thread-1] | 
> Updated cluster metadata version 10954 to Cluster(nodes = [Node(1, 
> server.internal, 9092)], partitions = [Partition(topic = Topic1, partition = 
> 0, leader = 1, replicas = [1,], isr = [1,]])
> 2016-02-26T12:25:37,856 | DEBUG | o.a.k.c.c.i.AbstractCoordinator 
> [pool-10-thread-1] | Issuing group metadata request to broker 1
> 2016-02-26T12:25:37,857 | DEBUG | o.a.k.c.c.i.AbstractCoordinator 
> [pool-10-thread-1] | Group metadata response 
> ClientResponse(receivedTimeMs=1456489537857, disconnected=false, 
> request=ClientRequest(expectResponse=true, 
> callback=org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient$RequestFutureCompletionHandler@28edb273,
>  
> request=RequestSend(header={api_key=10,api_version=0,correlation_id=21906,client_id=consumer-1},
>  body={group_id=}), createdTimeMs=1456489537856, sendTimeMs=1456489537856), 
> responseBody={error_code=15,coordinator={node_id=-1,host=,port=-1}})
> 2016-02-26T12:25:37,956 | DEBUG | o.a.k.c.NetworkClient [pool-10-thread-1] | 
> Sending metadata request ClientRequest(expectResponse=true, callback=null, 
> request=RequestSend(header={api_key=3,api_version=0,correlation_id=21907,client_id=consumer-1},
>  body={topics=[Topic1]}), isInitiatedByNetworkClient, 
> createdTimeMs=1456489537956, sendTimeMs=0) to node 1
> 2016-02-26T12:25:37,956 | DEBUG | o.a.k.c.Metadata [pool-10-thread-1] | 
> Updated cluster metadata version 10955 to Cluster(nodes = [Node(1, 
> server.internal, 9092)], partitions = [Partition(topic = Topic1, partition = 
> 0, leader = 1, replicas = [1,], isr = [1,]])
> 2016-02-26T12:25:37,956 | DEBUG | o.a.k.c.c.i.AbstractCoordinator 
> [pool-10-thread-1] | Issuing group metadata request to broker 1
> 2016-02-26T12:25:37,957 | DEBUG | o.a.k.c.c.i.AbstractCoordinator 
> [pool-10-thread-1] | Group metadata response 
> ClientResponse(receivedTimeMs=1456489537957, disconnected=false, 
> request=ClientRequest(expectResponse=true, 
> callback=org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient$RequestFutureCompletionHandler@40cee8cc,
>  
> request=RequestSend(header={api_key=10,api_version=0,correlation_id=21908,client_id=consumer-1},
>  body={group_id=}), createdTimeMs=1456489537956, sendTimeMs=1456489537956), 
> responseBody={error_code=15,coordinator={node_id=-1,host=,port=-1}})
> 2016-02-26T12:25:38,056 | DEBUG | o.a.k.c.NetworkClient [pool-10-thread-1] | 
> Sending metadata request ClientRequest(expectResponse=true, callback=null, 
> request=RequestSend(header={api_key=3,api_version=0,correlation_id=21909,client_id=consumer-1},
>  body={topics=[Topic1]}), isInitiatedByNetworkClient, 
> createdTimeMs=1456489538056, sendTimeMs=0) to node 1
> 2016-02-26T12:25:38,056 | DEBUG | o.a.k.c.Metadata [pool-10-thread-1] | 
> Updated cluster metadata version 10956 to Cluster(nodes = [Node(1, 
> server.internal, 9092)], partitions = [Partition(topic = Topic1, partition = 
> 0, leader = 1, replicas = [1,], isr = [1,]])
> 2016-02-26T12:25:38,056 | DEBUG | o.a.k.c.c.i.AbstractCoordinator 
> [pool-10-thread-1] | Issuing group metadata request to broker 1
> 2016-02-26T12:25:38,057 | DEBUG | o.a.k.c.c.i.AbstractCoordinator 
> [pool-10-thread-1] | Group metadata response 
> ClientResponse(receivedTimeMs=1456489538057, disconnected=false, 
> request=ClientRequest(expectResponse=true, 
> callback=org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient$RequestFutureCompletionHandler@439e25fb,
>  
> request=RequestSend(header={api_key=10,api_version=0,correlation_id=21910,client_id=consumer-1},
>  body={group_id=}), createdTimeMs=1456489538056, sendTimeMs=1456489538056), 
> responseBody={error_code=15,coordinator={node_id=-1,host=,port=-1}}){code}
> This persists for any 0.9 consumer trying to read from the topic (we haven't 
> confirmed if this is for a single topic or for any topic on the broker). 0.8 
> consumers can read from the broker without issues. This is fixed by a broker 
> restart.
> This was observed on a single-broker cluster. There were no suspicious log 
> messages on the server.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to