onCompletion
void onCompletion(RecordMetadata metadata,
                  java.lang.Exception exception)
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. When exception is not null in the callback,
 metadata will contain the special -1 value for all fields except for topicPartition, which will be valid.
- Parameters:
 
metadata - The metadata for the record that was sent (i.e. the partition and offset). An empty metadata
                 with -1 value for all fields except for topicPartition will be returned if an error occurred. 
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):
                  InvalidTopicException
                  OffsetMetadataTooLargeException
                  RecordBatchTooLargeException
                  RecordTooLargeException
                  UnknownServerException
                  UnknownProducerIdException
                  Retriable exceptions (transient, may be covered by increasing #.retries):
                  CorruptRecordException
                  InvalidMetadataException
                  NotEnoughReplicasAfterAppendException
                  NotEnoughReplicasException
                  OffsetOutOfRangeException
                  TimeoutException
                  UnknownTopicOrPartitionException