@Override
        public RecordMetadata get(long timeout, TimeUnit unit) throws ExecutionException {
            throw this.exception;
        }
computes partition for given record.
if the record has partition returns the value otherwise
if custom partitioner is specified, call it to compute partition
otherwise try to calculate partition based on key.
If there is no key or key should be ignored return
RecordMetadata.UNKNOWN_PARTITION to indicate any partition
can be used (the partition is then calculated by built-in
partitioning logic).
clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java