-
Notifications
You must be signed in to change notification settings - Fork 46
Broker Versions
Supported protocol versions:
0.9.0-
0.10.0Default 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 cfgCurrently, 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 cfgNote that this is only supported on versions 0.10.0 and greater.
See: A Guide To The Kafka Protocol
See: RELEASE NOTES
- Added
TimestamptoMessage - Added
TimestamptoProduceResponse - Added
ApiVersionsRequest
- Dropped
MaxNumberOfOffsetsfromOffsetRequest -
OffsetResponsereturns a singleOffsetrather than array. - Added
RebalanceTimeouttoJoinGroupRequest - Search offsets by
Timestampfor messages supporting the format.