The timeindex was added in 0.10 so I think you need to use the new Consumer API to access this functionality. Specifically you should call offsetsForTimes()
https://kafka.apache.org/0102/javadoc/org/apache/kafka/clients/consumer/Consumer.html#offsetsForTimes(java.util.Map) -hans > On May 25, 2017, at 6:39 AM, SenthilKumar K <senthilec...@gmail.com> wrote: > > I did an experiment on searching messages using timestamps .. > > Step 1: Used Producer with Create Time ( CT ) > Step 2 : Verify whether it reflects in Kafka or not > 00000000000000000000.index 00000000000000000000.log > 00000000000000000000.timeindex > These three files in disk and seems to be time_index working . > > Step 3: Let's look into data > offset: 121 position: 149556 *CreateTime*: 1495718896912 isvalid: > true payloadsize: 1194 magic: 1 compresscodec: NONE crc: 1053048980 > keysize: 8 > > Looks good .. > Step 4 : Check .timeindex file . > timestamp: 1495718846912 offset: 116 > timestamp: 1495718886912 offset: 120 > timestamp: 1495718926912 offset: 124 > timestamp: 1495718966912 offset: 128 > > So all set for Querying data using timestamp ? > > Kafka version : kafka_2.11-0.10.2.1 > > Here is the code i'm using to search query --> > https://gist.github.com/senthilec566/bc8ed1dfcf493f0bb5c473c50854dff9 > > requestInfo.put(topicAndPartition, new PartitionOffsetRequestInfo(queryTime, > 1)); > If i pass my own timestamp , always getting zero result .. > *Same question asked here too > **https://stackoverflow.com/questions/31917134/how-to-use-unix-timestamp-to-get-offset-using-simpleconsumer-api > <https://stackoverflow.com/questions/31917134/how-to-use-unix-timestamp-to-get-offset-using-simpleconsumer-api>* > . > > > Also i could notice below error in index file: > > *Found timestamp mismatch* in > :/home/user/kafka-logs/topic-0/00000000000000000000.timeindex > > Index timestamp: 0, log timestamp: 1495717686913 > > *Found out of order timestamp* in > :/home/user/kafka-logs/topic-0/00000000000000000000.timeindex > > Index timestamp: 0, Previously indexed timestamp: 1495719406912 > > Not sure what is missing here :-( ... Pls advise me here! > > > Cheers, > Senthil > > On Thu, May 25, 2017 at 3:36 PM, SenthilKumar K <senthilec...@gmail.com> > wrote: > >> Thanks a lot Mayuresh. I will look into SearchMessageByTimestamp feature >> in Kafka .. >> >> Cheers, >> Senthil >> >> On Thu, May 25, 2017 at 1:12 PM, Mayuresh Gharat < >> gharatmayures...@gmail.com> wrote: >> >>> Hi Senthil, >>> >>> Kafka does allow search message by timestamp after KIP-33 : >>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-33+-+ >>> Add+a+time+based+log+index#KIP-33-Addatimebasedlogindex-S >>> earchmessagebytimestamp >>> >>> The new consumer does provide you a way to get offsets by timestamp. You >>> can use these offsets to seek to that offset and consume from there. So if >>> you want to consume between a range you can get the start and end offset >>> based on the timestamps, seek to the start offset and consume and process >>> the data till you reach the end offset. >>> >>> But these timestamps are either CreateTime(when the message was created >>> and you will have to specify this when you do the send()) or >>> LogAppendTime(when the message was appended to the log on the kafka broker) >>> : https://kafka.apache.org/0101/javadoc/org/apache/kafka/clien >>> ts/producer/ProducerRecord.html >>> >>> Kafka does not look at the fields in your data (key/value) for giving >>> back you the data. What I meant was it will not look at the timestamp >>> specified by you in the actual data payload. >>> >>> Thanks, >>> >>> Mayuresh >>> >>> On Thu, May 25, 2017 at 12:43 PM, SenthilKumar K <senthilec...@gmail.com> >>> wrote: >>> >>>> Hello Dev Team, Pls let me know if any option to read data from Kafka >>>> (all >>>> partition ) using timestamp . Also can we set custom offset value to >>>> messages ? >>>> >>>> Cheers, >>>> Senthil >>>> >>>> On Wed, May 24, 2017 at 7:33 PM, SenthilKumar K <senthilec...@gmail.com> >>>> wrote: >>>> >>>>> Hi All , We have been using Kafka for our Use Case which helps in >>>>> delivering real time raw logs.. I have a requirement to fetch data from >>>>> Kafka by using offset .. >>>>> >>>>> DataSet Example : >>>>> {"access_date":"2017-05-24 13:57:45.044","format":"json", >>>>> "start":"1490296463.031"} >>>>> {"access_date":"2017-05-24 13:57:46.044","format":"json", >>>>> "start":"1490296463.031"} >>>>> {"access_date":"2017-05-24 13:57:47.044","format":"json", >>>>> "start":"1490296463.031"} >>>>> {"access_date":"2017-05-24 13:58:02.042","format":"json", >>>>> "start":"1490296463.031"} >>>>> >>>>> Above JSON data will be stored in Kafka.. >>>>> >>>>> Key --> acces_date in epoch format >>>>> Value --> whole JSON. >>>>> >>>>> Data Access Pattern: >>>>> 1) Get me last 2 minz data ? >>>>> 2) Get me records between 2017-05-24 13:57:42:00 to 2017-05-24 >>>>> 13:57:44:00 ? >>>>> >>>>> How to achieve this in Kafka ? >>>>> >>>>> I tried using SimpleConsumer , but it expects partition and not sure >>>>> SimpleConsumer would match our requirement... >>>>> >>>>> Appreciate you help ! >>>>> >>>>> Cheers, >>>>> Senthil >>> >>> >>> >>> -- >>> -Regards, >>> Mayuresh R. Gharat >>> (862) 250-7125 >> >>