Versions Compared

Key

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

...

The new IncrementalAlterConfigs API in AdminClient will take a map collection of operations describing the configuration modifications, and a set describing configuration keys which should be removed.  There are four types of operations.

  • Set: set a configuration to a value.  The value must not be null.
  • Delete: delete a configuration key
  • Append: if a configuration key is a list of values, add to the list.
  • Subtract: if a configuration key is a list of values, subtract from the list.


Code Block
titlemodifyConfigs
public interface AlterConfigOp {
  ConfigResource resource();
}

public class SetConfigOp extends AlterConfigOp {
  public SetConfigOp(ConfigResource resource, String value);
}

public class DeleteConfigOp extends AlterConfigOp {
  public DeleteConfigOp(SConfigResource resource);
}

public class AppendConfigOp extends AlterConfigOp {
  public AppendConfigOp(ConfigResource resource, String value);
}

public class SubtractConfigOp extends AlterConfigOp {
  public SubtractConfigOp(ConfigResource resource, String value);
}

public IncrementalAlterConfigsResult incrementalAlterConfigs(
    Collection<AlterConfigOp> ops,
    final IncrementalAlterConfigsOptions options);

...

Code Block
languagejava
ModifyConfigsResponse (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

There are two new error conditions.

  • If a configuration key was specified more than once in the request, INVALID_REQUEST will be returned for all occurrences of the configuration key.
  • If APPEND or SUBTRACT was specified for a configuration key that does not take a list of elements, INVALID_REQUEST will be returned for the configuration key.

Compatibility, Deprecation, and Migration Plan

...