Versions Compared

Key

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

...

  • MessageAndOffset is limited in change to just using up one attribute bit for tombstone marker
  • Ability to set headers from a client side using a common interface
  • Message Headers are kept to client side only implementation

The disadvantage of this option

  • Change to the message object
  • Client users need to know in advance if message will use headers or not (as in will use the wrapper)
  • Headers are more for the platform needs, enforcing a wrapper makes this not invisible to end user code where only platforms need to add,consume headers via interceptors
  • Cannot make use of the headers server side side whilst only client side implementation 
    • e.g. Server Side Plugins/Interceptors Interceptors see  A Case for Kafka Headers
    • If made server aware, then is better to integrate into the core message properly this is one reason for discounting this over the proposed solution.
  • No versioning server side allowing older clients / other language clients to co-exist
    • Upgrade compatibility issue - new topics needed to be created
    • This is more prevalent for consumers
  • Point solution for handling compaction server side

The amount of change needed both client and server side is similar in size to proposed solution in KIP-82 but has more above drawbacks.

...