Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Kafka >> mail # dev >> versionId in responses (and general API versioning questions)


Copy link to this message
-
versionId in responses (and general API versioning questions)
Just noticed that most of the API response structs do not include the
ApiVersion. This will make it hard for clients to determine how to
handle responses once the APIs start getting updated (which is pretty
much inevitable).

I'd propose we update the standard response envelope to include it

Response => ApiVersion CorrelationId ResponseMessage
   ApiVersion => int16
   CorrelationId => int32
   ResponseMessage => ...

Otherwise, it seems we must freeze the response formats forever.

Another thought is that the server should return the same version of the
API that was requested (if a client sends in v1, then presumably it does
know about any future versions...). How will this work? This seems to
imply backwards compat for the APIs like Avro.

Thoughts?

-David