Versions Compared

Key

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

...

  1. In the scenario below, people will need to either a) grant the producers the `IDEMPOTENT_WRITE` access or b) change their producer config to explicitly disable the idempotence (set `enable.idempotence = false`).
    1. use producers with release version >= 3.0
    2. use brokers with release version < 2.8
  2. In the scenario below, people will need to either a) upgrade their topic format version >= V2 or b) change their producer config to explicitly disable the idempotence (set `enable.idempotence = false`).
    1. use producers with release version >= 3.0
    2. have any topic using the message format < V2 while producers with release version >= 3.0 will produce to this topic
  3. In the scenario below, people will need to implement the new `Authorizer#authorizeAny` interface
    1. use their own authorizer implementation other than `AclAuthorizer` and `SimpleAclAuthorizer`
    2. the customized authorizer support the configuration `allow.everyone.if.no.acl.found`

Rejected Alternatives

There's an alternative way to implement a fallback semantics on `enable.idempotence` to mitigate the compatibility issue. Specifically, by default, the producer will set `enable.idempotence` as `suggested`, a new option, to let the producer and brokers decide if idempotence can be enabled or not. However, since the fallback

...