I see. This makes sense.
thanks Neha, Jason On Mon, Jan 7, 2013 at 1:52 PM, Neha Narkhede <neha.narkh...@gmail.com> wrote: > Jason, > > If you specify a key for a message but do not explicitly wire in a > partitioner, messages with the same key will still land up in the same > partition. This is because we use a default partitioner that does a simple > hash(key) % num_partitions. > > Thanks, > Neha > > > On Mon, Jan 7, 2013 at 9:30 AM, Jason Huang <jason.hu...@icare.com> wrote: > >> Jun, >> >> Thanks for the response. If I understand you correctly, messages with >> the same key will not be automatically stored at the same partition >> unless I implement a partition function to route the message based on >> the key? >> >> The quick start guide for 0.7 has the following: >> "Send a message with a partition key. Messages with the same key are >> sent to the same partition >> ProducerData<String, String> data = new ProducerData<String, >> String>("test-topic", "test-key", "test-message"); >> producer.send(data);" >> >> So... there is no simple way to send messages to a certain default >> partition in 0.8? >> >> thanks, >> >> Jason >> >> >> On Mon, Jan 7, 2013 at 12:04 PM, Jun Rao <jun...@gmail.com> wrote: >> > Jason, >> > >> > In 0.8, each message can optionally have a key. The key is retained as >> part >> > of the message and will be stored in the broker. One can design a >> partition >> > function to route the message based on the key. The default partitioner >> > ignores the key and selects a partition at random. >> > >> > Thanks, >> > >> > Jun >> > >> > On Mon, Jan 7, 2013 at 8:49 AM, Jason Huang <jason.hu...@icare.com> >> wrote: >> > >> >> Hello, >> >> >> >> I did some search on the web but couldn't find any documentation for >> >> 0.8 so I am trying to ask here: >> >> >> >> KeyedMessage is introduced in 0.8.0: >> >> class KeyedMessage[K, V](val topic: String, val key: K, val message: V) >> >> >> >> Does the parameter "key" = "partition key"? >> >> >> >> If I build a KeyedMessage with a specific key string, then the message >> >> will be stored to this partition, right? >> >> >> >> If I build a KeyedMessage without a key, then the message will be >> >> distributed to a random partition belonging to this topic? Or will it >> >> always use a certain default partition? >> >> >> >> thanks, >> >> >> >> Jason >> >> >>