THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- In the one case where KafkaProducer is calling Callback.onCompletion directly, update the call to pass a placeholder value for metadata (in a manner consistent with the Javadoc) instead of a null value. The placeholder value would be as follows:
- TopicPartition: Topic would always be correct. Partition is either a valid partition value (if known) or '-1' otherwise.
All other fields (offest, timestamp, serializedKeySize and serializedValueSize) would have a value of -1 explicitly set.
A tested implementation of this change can be found here, which includes some refactoring and changes to unit tests to try to ensure more consistent handling of callbacks.
...