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

Jason Gustafson updated KAFKA-8152:
-----------------------------------
    Description: 
Currently when the controller starts up, only the state of online partitions 
will be sent to other brokers. Any broker which is started or restarted after 
the controller will see only a subset of the partitions of any topic which has 
offline partitions. If all the partitions for a topic are offline, then the 
broker will not know of the topic at all. As far as I can tell, the bug is the 
fact that `ReplicaStateMachine.startup` only does an initial state change for 
replicas which are online.

This can be reproduced with the following steps:
 # Startup two brokers
 # Create a single partition topic with rf=1
 # Shutdown the broker where the replica landed
 # Shutdown the other broker
 # Restart the broker without the replica
 # Run `kafka-topics --describe --bootstrap-server \{server ip}`

Note that the metadata inconsistency will only be apparent when using 
`bootstrap-server` in `kafka-topics.sh`. Using zookeeper, everything will seem 
normal.

  was:Currently when the controller starts up, only the state of online 
partitions will be sent to other brokers. Any broker which is started or 
restarted after the controller will see only a subset of the partitions of any 
topic which has offline partitions. If all the partitions for a topic are 
offline, then the broker will not know of the topic at all. As far as I can 
tell, the bug is the fact that `ReplicaStateMachine.startup` only does an 
initial state change for replicas which are online.


> Offline partition state not propagated by controller
> ----------------------------------------------------
>
>                 Key: KAFKA-8152
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8152
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Jason Gustafson
>            Assignee: Jose Armando Garcia Sancio
>            Priority: Major
>
> Currently when the controller starts up, only the state of online partitions 
> will be sent to other brokers. Any broker which is started or restarted after 
> the controller will see only a subset of the partitions of any topic which 
> has offline partitions. If all the partitions for a topic are offline, then 
> the broker will not know of the topic at all. As far as I can tell, the bug 
> is the fact that `ReplicaStateMachine.startup` only does an initial state 
> change for replicas which are online.
> This can be reproduced with the following steps:
>  # Startup two brokers
>  # Create a single partition topic with rf=1
>  # Shutdown the broker where the replica landed
>  # Shutdown the other broker
>  # Restart the broker without the replica
>  # Run `kafka-topics --describe --bootstrap-server \{server ip}`
> Note that the metadata inconsistency will only be apparent when using 
> `bootstrap-server` in `kafka-topics.sh`. Using zookeeper, everything will 
> seem normal.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to