It is a bit more complex than you described. 
The `auto.offset.reset` config kicks in ONLY if your consumer group does not have a valid offset committed somewhere (2 supported offset storages now are Kafka and Zookeeper), and it also depends on what sort of consumer you use. 
 If you use a high-level java consumer then imagine following scenarios: 
 
 You have a consumer in a consumer group `group1` that has consumed 5 messages and died. Next time you start this consumer it won't even use that `auto.offset.reset` config and will continue from the place it died because it will just fetch the stored offset from the offset storage (Kafka or ZK as I mentioned). 
 
 You have messages in a topic (like you described) and you start a consumer in a new consumer group `group2`. There is no offset stored anywhere and this time the `auto.offset.reset` config will decide whether to start from the beginning of the topic (`earliest`) or from the end of the topic (`latest`) 

 One more thing that affects what offset value will correspond to `earliest` and `latest` configs is log retention policy. Imagine you have a topic with retention configured to 1 hour. You produce 5 messages, and then an hour