Versions Compared

Key

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

...

Code Block
titleModifyConfigsResult
@InterfaceStability.Evolving
public class IncrementalAlterConfigsResult {
    private final Map<ConfigResource, KafkaFuture<Void>> futures;

    ModifyConfigsResultIncrementalAlterConfigsResult(Map<ConfigResource, KafkaFuture<Void>> futures) {
        this.futures = futures;
    }

    /**
     * Return a map from resources to futures which can be used to check the status of the operation on each resource.
     */
    public Map<ConfigResource, KafkaFuture<Void>> values() {
        return futures;
    }

    /**
     * Return a future which succeeds only if all the alter configs operations succeed.
     */
    public KafkaFuture<Void> all() {
        return KafkaFuture.allOf(futures.values().toArray(new KafkaFuture[0]));
    }
}

...

The IncrementalAlterConfigsResponse is the same as the AlterConfigsResponse.

Code Block
languagejava
ModifyConfigsResponseIncrementalAlterConfigsResponse (Version: 0) => [responses]   
  responses => resource_type resource_name error_code error_message
  resource_type => INT8
  resource_name => STRING
  error_code => INT16
  error_message => NULLABLE_STRING

...

This change is backwards compatible because the existing alterConfigs RPC is retained.  Clients will migrate to the new modifyConfigs incrementalAlterConfigs RPC as needed.

Rejected Alternatives

...