If the timeout is short say 100, the first poll does not return records for my case. Jay Kreps gave an explanation on [1]. I think that this behaviour for poll is counterintuitive, it will make Kafka user's life much easier if this behaviour is documented in [2].
[1] http://grokbase.com/p/kafka/users/155mqpwf3n/consumer-poll-returns-no-records-unless-called-more-than-once-why [2] http://kafka.apache.org/11/javadoc/org/apache/kafka/clients/consumer/KafkaConsumer.html#poll-long-