A callback method the user can implement to provide asynchronous handling of request completion. This method will
be called when the record sent to the server has been acknowledged. Exactly one of the arguments will be
metadata - The metadata for the record that was sent (i.e. the partition and offset). Null if an error
exception - The exception thrown during processing of this record. Null if no error occurred.
Possible thrown exceptions include:
Non-Retriable exceptions (fatal, the message will never be sent):
Retriable exceptions (transient, may be covered by increasing #.retries):