public KafkaSystemDescriptor withConsumerAutoOffsetReset(String consumerAutoOffsetReset) {
    this.consumerAutoOffsetResetOptional = Optional.ofNullable(StringUtils.stripToNull(consumerAutoOffsetReset));
    return this;
  }
This setting determines what happens if a consumer attempts to read an offset that is outside of the current
valid range. This could happen if the topic does not exist, or if a checkpoint is older than the maximum message
history retained by the brokers. This property is not to be confused with {@link InputDescriptor#withOffsetDefault},
which determines what happens if there is no checkpoint.
<p>
The following are valid values for auto.offset.reset:
<ul>
  <li>smallest: Start consuming at the smallest (oldest) offset available on the broker
  (process as much message history as available).
  <li>largest: Start consuming at the largest (newest) offset available on the broker
  (skip any messages published while the job was not running).
  <li>anything else: Throw an exception and refuse to start up the job.
</ul>
<p>
Note: This property may be set at a topic level using {@link KafkaInputDescriptor#withConsumerAutoOffsetReset}

@param consumerAutoOffsetReset consumer auto offset reset policy for the system
@return this system descriptor
samza-kafka/src/main/java/org/apache/samza/system/kafka/descriptors/KafkaSystemDescriptor.java