Internally producer sends a TopicMetadataRequest which creates the topic
if auto.create.topics.enable is true.

On Tue, Jan 13, 2015, at 04:49 PM, Harsha wrote:
> 
> You can import ZKStringSerializer from kafka.utils.ZkClient or write
> your own similar string serializer like this
> https://gist.github.com/harshach/7b5447c39168eb6062e0
> 
> On Tue, Jan 13, 2015, at 04:31 PM, Harsha wrote:
> > It looks like you are not adding a ZkStringSerializer to your zkClient.
> > 
> > ZkClient zkClient = new ZkClient(ZK_CONN_STRING);
> > in Kafka TopicCommand uses
> > "new ZkClient(opts.options.valueOf(opts.zkConnectOpt), 30000, 30000,
> > ZKStringSerializer)"
> > 
> > because of this although your topic is getting created and a zookeeper
> > path created. Zk path contents are messed up
> > get /brokers/topics/test_d5ee7dfe-cf33-4135-9bbd-c1e7d9367af2
> > ��t${"version":1,"partitions":{"0":[0]}}
> > cZxid = 0x2ea0
> > ctime = Tue Jan 13 16:08:19 PST 2015
> > mZxid = 0x2ea0
> > mtime = Tue Jan 13 16:08:19 PST 2015
> > 
> > 
> > 
> > On Tue, Jan 13, 2015, at 02:28 PM, Henri Pihkala wrote:
> > > Hi,
> > > 
> > > Thanks for your reply, Guozhang, you are right.
> > > 
> > > I eventually got it working, but it required TWO changes to what I
> > > initially tried:
> > > 
> > > 1) Use OffsetRequest, not OffsetFetchRequest, like Guozhang pointed out.
> > > 
> > > 2) Create topics by sending a TopicMetadataRequest and having
> > > auto.create.topics.enable=true. Initially I tried to create topics
> > > explicitly using AdminUtils.createTopic(), but this did not work for some
> > > reason!
> > > 
> > > Do you think the problem I had in 2) is worth investigating or reporting
> > > further? The gist below is a test case that passes as is, but if I change
> > > the topic creation method to AdminUtils.createTopic() the test fails. Can
> > > anyone explain why?
> > > 
> > > https://gist.github.com/hpihkala/f93ef3dc4c08382df69e
> > > <https://gist.github.com/hpihkala/f93ef3dc4c08382df69e>
> > > 
> > > Best regards
> > > Henri
> > > 
> > > 
> > > > On 13.1.2015, at 19.34, Guozhang Wang <wangg...@gmail.com> wrote:
> > > > 
> > > > Henri,
> > > > 
> > > > FetchOffsetRequest is used for retrieving the last committed offset of a
> > > > certain consumer group; for your use case you would send OffsetRequest.
> > > > 
> > > > That said the error code is misleading, it may be a bug in not 
> > > > indicating
> > > > the right error code.
> > > > 
> > > > Guozhang
> > > > 
> > > > 
> > > > On Fri, Jan 9, 2015 at 4:10 AM, Henri Pihkala 
> > > > <henri.pihk...@streamr.com>
> > > > wrote:
> > > > 
> > > >> (1) Create topic
> > > >> (2) Send a FetchOffsetRequest for a partition in the new topic
> > > >> 
> > > >> Results in error code 3, or UnknownTopicOrPartition.
> > > >> 
> > > >> How can it be unknown, since I just created it? Shouldn’t it return 0, 
> > > >> as
> > > >> that’s the offset of the next (first) message?
> > > >> 
> > > >> Is this a bug or a feature? Tried with both 0.8.1.1 and 0.8.2-beta
> > > >> (single-node cluster).
> > > >> 
> > > >> Best regards
> > > >> Henri
> > > >> 
> > > >> 
> > > > 
> > > > 
> > > > -- 
> > > > -- Guozhang
> > > 

Reply via email to