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

Stanislav Gilmulin commented on KAFKA-1530:
-------------------------------------------

It means we have the risks.
You're right. My question wansn't clear. Let me try to explain.

First of all, accordint to business requirements we can't stop the service. So 
we can't stop all nodes before updating.
And, as you've advised, our option would be updating step by step.  
But when we update without using the right procedure, we could lose an unknown 
amount of messages in the example case presented below. 

Let's consider this case for a example.
We have 3 replicas of one partition with 2 of them lagging behind. Then we 
restart the leader. At that very moment one of the two lagging partitions 
become a new leader. After that, when the used-to-be-leader partiton starts 
working again (and which in fact has the newest data), it truncates all the 
newest data to match with now elected leader.
This situation happens quite often when we restart a highly loaded Kafka 
cluster, so that we loose some part of our data.



> howto update continuously
> -------------------------
>
>                 Key: KAFKA-1530
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1530
>             Project: Kafka
>          Issue Type: Wish
>            Reporter: Stanislav Gilmulin
>            Priority: Minor
>              Labels: operating_manual, performance
>
> Hi,
>  
> Could I ask you a question about the Kafka update procedure?
> Is there a way to update software, which doesn't require service interruption 
> or lead to data losses?
> We can't stop message brokering during the update as we have a strict SLA.
>  
> Best regards
> Stanislav Gilmulin



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to