Hi Svante,

Thanks for your reply!

As you said, my purpose is let "all messages with the same key goes to the same 
partition", but the actual case is even I hard code the same partition 
key(let's say the key is "1") for three messages, the messages are still goes 
to different partitions.

Regards,
Haoming

> Date: Wed, 26 Nov 2014 08:03:04 +0100
> Subject: Re: Partition key not working properly
> From: [email protected]
> To: [email protected]
> 
> By default, the partition key is used for hashing then it's placed in a
> partition that has the appropriate hashed keyspace.
> 
> If you have three physical partitions and then give the partition key "5"
> it has nothing to do with physical partition 5 (that does not exist) ,
> similar to physical: partition = hash("5") mod 3
> 
> 
> The only guarantee is that all messages with the same key goes to the same
> partition. This is useful to make sure that for example all logs from the
> same ip goest to the same partition which means that they can be read by
> the same producer.
> 
> /svante
> 
> 
> 
> 2014-11-26 2:42 GMT+01:00 Haoming Zhang <[email protected]>:
> 
> >
> >
> >
> > Hi all,
> >
> > I'm struggling with how to use the partition key mechanism properly. My
> > logic is set the partition number as 3, then  create three partition keys
> > as "0", "1", "2", then use the partition keys to create three KeyedMessage
> > such as
> > KeyedMessage(topic, "0", message),
> > KeyedMessage(topic, "1", message),
> > KeyedMessage(topic, "2", message)
> >
> > After this, creating a producer instance to send out all the KeyedMessage.
> >
> > I expecting each KeyedMessage should enter to different partitions
> > according to the different partition keys, which means
> > KeyedMessage(topic, "0", message) go to Partition 0,
> > KeyedMessage(topic, "1", message) go to Partition 1,
> > KeyedMessage(topic, "2", message) go to Partition 2
> >
> > I'm using Kafka-web-console to watch the topic status, but the result is
> > not like what I'm expecting. KeyedMessage still go to partitions randomly,
> > some times two KeyedMessage will enter the same partition even they have
> > different partition keys, .
> >
> > Not sure whether my logic is incorrect or I didn't understand the
> > partition key mechanism correctly. Anyone could provides some sample code
> > or explanation would be great!
> >
> > Thanks,
> > Haoming
> >
> >
                                          

Reply via email to