View Source KlifeProtocol.Messages.UpdateFeatures (Klife Protocol v0.5.0)

Kafka protocol UpdateFeatures message

Request versions summary:

Response versions summary:

Link to this section Summary

Functions

Returns the message api key number.

Receive a binary in the kafka wire format and deserialize it into a map.

Returns the current max supported version of this message.

Returns the current min supported version of this message.

Receives a map and serialize it to kafka wire format of the given version.

Link to this section Functions

Returns the message api key number.

Link to this function

deserialize_response(data, version, with_header? \\ true)

View Source

Receive a binary in the kafka wire format and deserialize it into a map.

Response content fields:

  • throttle_time_ms: The duration in milliseconds for which the request was throttled due to a quota violation, or zero if the request did not violate any quota. (int32 | versions 0+)

  • error_code: The top-level error code, or 0 if there was no top-level error. (int16 | versions 0+)

  • error_message: The top-level error message, or null if there was no top-level error. (string | versions 0+)

  • results: Results for each feature update. ([]UpdatableFeatureResult | versions 0+)

    • feature: The name of the finalized feature. (string | versions 0+)

    • error_code: The feature update error code or 0 if the feature update succeeded. (int16 | versions 0+)

    • error_message: The feature update error, or null if the feature update succeeded. (string | versions 0+)

Returns the current max supported version of this message.

Returns the current min supported version of this message.

Link to this function

serialize_request(map, version)

View Source

Receives a map and serialize it to kafka wire format of the given version.

Input content fields:

  • timeout_ms: How long to wait in milliseconds before timing out the request. (int32 | versions 0+)

  • feature_updates: The list of updates to finalized features. ([]FeatureUpdateKey | versions 0+)

    • feature: The name of the finalized feature to be updated. (string | versions 0+)

    • max_version_level: The new maximum version level for the finalized feature. A value >= 1 is valid. A value < 1, is special, and can be used to request the deletion of the finalized feature. (int16 | versions 0+)

    • allow_downgrade: DEPRECATED in version 1 (see DowngradeType). When set to true, the finalized feature version level is allowed to be downgraded/deleted. The downgrade request will fail if the new maximum version level is a value that's not lower than the existing maximum finalized version level. (bool | versions 0)

    • upgrade_type: Determine which type of upgrade will be performed: 1 will perform an upgrade only (default), 2 is safe downgrades only (lossless), 3 is unsafe downgrades (lossy). (int8 | versions 1+)

  • validate_only: True if we should validate the request, but not perform the upgrade or downgrade. (bool | versions 1+)