You may have mis-understood the api. getOffsetsBefore() returns a valid offset before a given timestamp, not a given offset.
Thanks, Jun On Fri, Feb 28, 2014 at 5:02 PM, Vadim Keylis <vkeylis2...@gmail.com> wrote: > Hello Guozhang. The following is slightly modified version of the example. > Where offset can be previously valid offset, but does not exist in kafka > for one or the other valid reason. > TopicAndPartition topicAndPartition = new TopicAndPartition(topic, > partition); > Map<TopicAndPartition, PartitionOffsetRequestInfo> requestInfo = > new HashMap<TopicAndPartition, PartitionOffsetRequestInfo>(); > requestInfo.put(topicAndPartition, new > PartitionOffsetRequestInfo(offset, 1)); > kafka.javaapi.OffsetRequest request = new > kafka.javaapi.OffsetRequest( > requestInfo, (short) requiestedOffset, > config.getGroupId()); > OffsetResponse response = simpleConsumer.getOffsetsBefore(request); > > if (response.hasError()) { > return; > } > > long[] offsets = response.offsets(topic, partition); > > > > > On Fri, Feb 28, 2014 at 4:36 PM, Guozhang Wang <wangg...@gmail.com> wrote: > > > Hi Vadim, > > > > Which example in the kafka doc are you following? > > > > Guozhang > > > > > > On Fri, Feb 28, 2014 at 3:18 PM, Vadim Keylis <vkeylis2...@gmail.com> > > wrote: > > > > > Good afternoon. I am writing my own client that is based on simple > > > consumer. I implemented method that is based on example in the kafka > > > documents that sends request to kafka to find an offset. I am trying to > > > find offsets after given offset. The api returns success even those > > offset > > > does not exist but offsets array has length of 0. What is the right way > > to > > > find next valid offset if the one been passed not found in Kafka. > > > > > > Thanks, > > > Vadim > > > > > > > > > > > -- > > -- Guozhang > > >