...
Current state: "Under Discussion"
Discussion thread: None yet here
JIRA: here
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
- 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 (offset, timestamp, serializedKeySize and serializedValueSize) would have a value of -1 explicitly set.
A tested implementation of these changes this change can be found here, which includes some refactoring and changes to unit tests to try to ensure more consistent handling of callbacks.
...