Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 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:
    1. TopicPartition: Topic would always be correct. Partition is either a valid partition value (if known) or '-1' otherwise.
    2. 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.

...