-
Notifications
You must be signed in to change notification settings - Fork 63
Broker Versions
Supported protocol versions:
0.9.0
-
0.10.0
Default on Kafunk >= 0.1.13 0.10.1
NOTE: Later broker versions work with earlier versions of the client. However, earlier versions of the client may not have support for particular features of the API. For example, client versions prior to v0.10.0 don't support Message timestamps. This means that the broker has to do additional work to adapt the message format so that the older client can decode it.
A Kafka broker version can be specified in the connection configuration:
let cfg =
KafkaConfig.create (
host,
version = Versions.V_0_10_1)
let conn = Kafka.conn cfg
Currently, the default version is 0.9.0
on Kafunk 0.1.12 and earlier, and 0.10.1
on Kafunk 0.1.13 and later. To support an explicit protocol version, the version must be configured explicitly as above.
Broker versions 0.10.0
and above support an ApiVersionsRequest
which returns the versions supported for each operation. Kafunk can determine API versions automatically using this operation as follows:
let cfg =
KafkaConfig.create (
host,
autoApiVersions = true)
let conn = Kafka.conn cfg
Note that this is only supported on versions 0.10.0
and greater.
See: A Guide To The Kafka Protocol
See: RELEASE NOTES
- Added
Timestamp
toMessage
- Added
Timestamp
toProduceResponse
- Added
ApiVersionsRequest
- Dropped
MaxNumberOfOffsets
fromOffsetRequest
-
OffsetResponse
returns a singleOffset
rather than array. - Added
RebalanceTimeout
toJoinGroupRequest
- Search offsets by
Timestamp
for messages supporting the format.