Versions Compared

Key

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

...

  1. Producer config defaults will change in release version 3.0
Producer config nameFromTo
enable.idempotencefalsetrue
acks1all

2. Producer ACL required for enabling idempotence will change from `IDEMPOTENT_WRITE` to `WRITE` in release version 2.8

A. In `ProduceRequest` handler, we remove the `IDEMPOTENT_WRITE` access check since it already has the `WRITE` access check on topics.

B. In `InitProduceIdRequest` handler, Brokers will check if the producer will get authorized if it has the `WRITE` access when they are authorizing the `InitProducerIdRequest` and `ProduceRequest`, instead of the `IDEMPOTENT_WRITE` access. `IDEMPOTENT_WRITE` access will no longer be used anywhere.`WRITE` access on ANY topic.

CB. `kafka-acls` will show deprecation warnings if users are trying to grant the `IDEMPOTENT_WRITE` access.

3. `org.apache.kafka.server.authorizer.Authorizer` will have a new interface for checking if the caller is allowed to perform the ACL operation on at least one resource of the resource type.


Code Block
languagejava
firstline144
titleclients/src/main/java/org/apache/kafka/server/authorizer/Authorizer.java
linenumberstrue
collapsetrue

boolean allowedOnAtLeastOneRecourse(AuthorizableRequestContext requestContext, AclOperation op, ResourceType resourceType);



Proposed Changes

Besides the public interface changes above, we will remove `IDEMPOTENT_WRITE` in release version 2.8 because it's kind of trivial by practice.

...