Javadoc
Returns a Committer that will "commit" everything read up to the point at which makeCommitter() is called.
This method is called when the main processing loop starts to persist its current batch of things to process.
The returned committer will be run when the current batch has been successfully persisted
and the metadata the committer carries can also be persisted along with segment data. There is usually
some time lag between when this method is called and when the runnable is run. The Runnable is also run on
a separate thread so its operation should be thread-safe.
Note that "correct" usage of this interface will always call advance() before commit() if the current row
is considered in the commit.
The Runnable is essentially just a lambda/closure that is run() after data supplied by this instance has
been committed on the writer side of this interface protocol.
A simple implementation of this interface might do nothing when run() is called,
and save proper commit information in metadata