Hi Mohit,

The KeyedMessage has a "key" and "partKey" as it fields, and if the partKey
is not specified then key will be used as partKey by default.

So for your case, if you do

new KeyedMessage[String, String](topic, null /*key*/, partkey, value)

then the partkey will be used to determine the partition but not written to
broker.

Guozhang

On Wed, Jun 24, 2015 at 9:45 AM, Mohit Kathuria <mkathu...@sprinklr.com>
wrote:

> Thanks Jason.
>
> Hi Liquan,
>
> I was doing this initially using KeyedMessage without setting the key. But
> if the key is null, the custom partitioner won't be used and kafka will
> write to random partition which is cached for some time within the
> producer. I have a custom partitioner to have fairness between the
> partitions.
>
> -Thanks,
> Mohit
>
> On Tue, Jun 23, 2015 at 10:34 PM, Liquan Pei <liquan...@gmail.com> wrote:
>
> > Hi Mohit,
> >
> > If you instantiate the keyed message with
> > val topic = "topic"
> > val value = "value"
> > val message = new KeyedMessage[String, String](topic,  value);
> >
> > Then the key in the KeyedMessage will be null.
> >
> > Hope this helps!
> >
> > Thanks,
> > Liquan
> >
> > On Tue, Jun 23, 2015 at 8:18 AM, Mohit Kathuria <mkathu...@sprinklr.com>
> > wrote:
> >
> > > Hi,
> > >
> > > We are using kafka 0.8.1.1 in our production cluster. I recently
> started
> > > specifying key as the message itself. I just realised that the key is
> > also
> > > written to the broker which means that the data is duplicated within a
> > > keyed message. I am going to change the key. Stupid mistake.
> > >
> > > However, just out of anxiety, I want to know whether we can turn off
> > > writing the key to the broker. Any configuration I can change to
> achieve
> > > this?
> > >
> > > -Thanks,
> > > Mohit Kathuria
> > >
> >
> >
> >
> > --
> > Liquan Pei
> > Department of Physics
> > University of Massachusetts Amherst
> >
>



-- 
-- Guozhang

Reply via email to