You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Brian Cottingham <br...@dudesolutions.com> on 2017/11/27 19:44:41 UTC

Upgrading producers to 1.0

When upgrading from 0.11 to 1.0, do I have to upgrade the library I used to write my producer? Or does the wire protocol change only affect brokers?

Re: Upgrading producers to 1.0

Posted by "Matthias J. Sax" <ma...@confluent.io>.
Ah. I see. You copied from the KIP.

The "Motivation" sections describes the state _before_ the change :)


-Matthias


On 11/27/17 5:36 PM, Matthias J. Sax wrote:
> Not sure were you exactly copied this. However, second paragraph here
> https://kafka.apache.org/documentation/#upgrade_10_2_0 explains:
> 
>> Starting with version 0.10.2, Java clients (producer and consumer) have acquired the ability to communicate with older brokers. Version 0.10.2 clients can talk to version 0.10.0 or newer brokers. However, if your brokers are older than 0.10.0, you must upgrade all the brokers in the Kafka cluster before upgrading your clients. Version 0.10.2 brokers support 0.8.x and newer clients.
> 
> 
> -Matthias
> 
> 
> On 11/27/17 3:57 PM, Brian Cottingham wrote:
>> On 11/27/17, 5:53 PM, "Matthias J. Sax" <ma...@confluent.io> wrote:
>>
>>     Since 0.10.2, you can upgrade your clients without upgrading your brokers.
>>     
>>     https://cwiki.apache.org/confluence/display/KAFKA/KIP-97%3A+Improved+Kafka+Client+RPC+Compatibility+Policy
>>     
>>
>> According to that doc,
>>
>>> New brokers support older clients, but new clients do not support older broker versions. 
>>
>> So it sounds like I can in fact upgrade my brokers without upgrading my clients. Am I correct to assume the inter.broker.protocol.version setting mentioned in the upgrade docs sis unrelated to the clients?
>>     
>>
> 


Re: Upgrading producers to 1.0

Posted by Brian Cottingham <br...@dudesolutions.com>.
Excellent, thanks very much for the help!

On 11/28/17, 11:43 AM, "Matthias J. Sax" <ma...@confluent.io> wrote:

    Upgrading brokers without client was always supported :)
    
    Since 0.10.2, it also works the other way round.
    
    
    -Matthias
    
    On 11/28/17 7:33 AM, Brian Cottingham wrote:
    > On 11/27/17, 8:36 PM, "Matthias J. Sax" <ma...@confluent.io> wrote:
    > 
    >     Not sure were you exactly copied this. However, second paragraph here
    >     https://kafka.apache.org/documentation/#upgrade_10_2_0 explains:
    >     
    >     > Starting with version 0.10.2, Java clients (producer and consumer) have acquired the ability to communicate with older brokers. Version 0.10.2 clients can talk to version 0.10.0 or newer brokers. However, if your brokers are older than 0.10.0, you must upgrade all the brokers in the Kafka cluster before upgrading your clients. Version 0.10.2 brokers support 0.8.x and newer clients.
    >     
    >     Ah. I see. You copied from the KIP.
    > 
    >     The "Motivation" sections describes the state _before_ the change :)
    > 
    > 
    > I think we may be talking about different goals; if I understand correctly, you’re discussing upgrading clients without upgrading brokers. I want to do the opposite: upgrade brokers and leave the clients alone. It sounds like that should work fine, right?
    > 
    
    


Re: Upgrading producers to 1.0

Posted by "Matthias J. Sax" <ma...@confluent.io>.
Upgrading brokers without client was always supported :)

Since 0.10.2, it also works the other way round.


-Matthias

On 11/28/17 7:33 AM, Brian Cottingham wrote:
> On 11/27/17, 8:36 PM, "Matthias J. Sax" <ma...@confluent.io> wrote:
> 
>     Not sure were you exactly copied this. However, second paragraph here
>     https://kafka.apache.org/documentation/#upgrade_10_2_0 explains:
>     
>     > Starting with version 0.10.2, Java clients (producer and consumer) have acquired the ability to communicate with older brokers. Version 0.10.2 clients can talk to version 0.10.0 or newer brokers. However, if your brokers are older than 0.10.0, you must upgrade all the brokers in the Kafka cluster before upgrading your clients. Version 0.10.2 brokers support 0.8.x and newer clients.
>     
>     Ah. I see. You copied from the KIP.
> 
>     The "Motivation" sections describes the state _before_ the change :)
> 
> 
> I think we may be talking about different goals; if I understand correctly, you’re discussing upgrading clients without upgrading brokers. I want to do the opposite: upgrade brokers and leave the clients alone. It sounds like that should work fine, right?
> 


Re: Upgrading producers to 1.0

Posted by Brian Cottingham <br...@dudesolutions.com>.
On 11/27/17, 8:36 PM, "Matthias J. Sax" <ma...@confluent.io> wrote:

    Not sure were you exactly copied this. However, second paragraph here
    https://kafka.apache.org/documentation/#upgrade_10_2_0 explains:
    
    > Starting with version 0.10.2, Java clients (producer and consumer) have acquired the ability to communicate with older brokers. Version 0.10.2 clients can talk to version 0.10.0 or newer brokers. However, if your brokers are older than 0.10.0, you must upgrade all the brokers in the Kafka cluster before upgrading your clients. Version 0.10.2 brokers support 0.8.x and newer clients.
    
    Ah. I see. You copied from the KIP.

    The "Motivation" sections describes the state _before_ the change :)


I think we may be talking about different goals; if I understand correctly, you’re discussing upgrading clients without upgrading brokers. I want to do the opposite: upgrade brokers and leave the clients alone. It sounds like that should work fine, right?


Re: Upgrading producers to 1.0

Posted by "Matthias J. Sax" <ma...@confluent.io>.
Not sure were you exactly copied this. However, second paragraph here
https://kafka.apache.org/documentation/#upgrade_10_2_0 explains:

> Starting with version 0.10.2, Java clients (producer and consumer) have acquired the ability to communicate with older brokers. Version 0.10.2 clients can talk to version 0.10.0 or newer brokers. However, if your brokers are older than 0.10.0, you must upgrade all the brokers in the Kafka cluster before upgrading your clients. Version 0.10.2 brokers support 0.8.x and newer clients.


-Matthias


On 11/27/17 3:57 PM, Brian Cottingham wrote:
> On 11/27/17, 5:53 PM, "Matthias J. Sax" <ma...@confluent.io> wrote:
> 
>     Since 0.10.2, you can upgrade your clients without upgrading your brokers.
>     
>     https://cwiki.apache.org/confluence/display/KAFKA/KIP-97%3A+Improved+Kafka+Client+RPC+Compatibility+Policy
>     
> 
> According to that doc,
> 
>> New brokers support older clients, but new clients do not support older broker versions. 
> 
> So it sounds like I can in fact upgrade my brokers without upgrading my clients. Am I correct to assume the inter.broker.protocol.version setting mentioned in the upgrade docs sis unrelated to the clients?
>     
> 


Re: Upgrading producers to 1.0

Posted by Brian Cottingham <br...@dudesolutions.com>.
On 11/27/17, 5:53 PM, "Matthias J. Sax" <ma...@confluent.io> wrote:

    Since 0.10.2, you can upgrade your clients without upgrading your brokers.
    
    https://cwiki.apache.org/confluence/display/KAFKA/KIP-97%3A+Improved+Kafka+Client+RPC+Compatibility+Policy
    

According to that doc,

> New brokers support older clients, but new clients do not support older broker versions. 

So it sounds like I can in fact upgrade my brokers without upgrading my clients. Am I correct to assume the inter.broker.protocol.version setting mentioned in the upgrade docs sis unrelated to the clients?
    


Re: Upgrading producers to 1.0

Posted by "Matthias J. Sax" <ma...@confluent.io>.
Since 0.10.2, you can upgrade your clients without upgrading your brokers.

https://cwiki.apache.org/confluence/display/KAFKA/KIP-97%3A+Improved+Kafka+Client+RPC+Compatibility+Policy


-Matthias

On 11/27/17 11:44 AM, Brian Cottingham wrote:
> When upgrading from 0.11 to 1.0, do I have to upgrade the library I used to write my producer? Or does the wire protocol change only affect brokers?
>