Hi Kaushik, Thanks for the KIP. This is definitely an area that needs clearing up so it’s good to see it.
A few initial questions. 1. If I understand correctly, you are proposing to change the superclass of all subclasses of o.a.k.common.errors.ApiException which can be thrown by the producer or transaction APIs. Is this accurate? 2. You have 4 exception types (and 2 subtypes) in the list in Proposed Changes. So, I would expect 5 new exception classes with names with a direct correspondence to the list of types, or at least an explicit statement of which of the new exceptions maps to each of the types. For example, “Producer-Recoverable” doesn’t seem to have a new exception. I’m a bit confused. 3. Some of the error types, the “producer retriable” ones, can be handled directly within the producer code and do not need to be surfaced to the applications. I suppose this means there is no need to make any change at all for these exceptions. By changing these exceptions too, I suppose it makes it simple in the producer to figure out which errors can be retried internally. Could you be explicit about which exceptions are going to be changed and which class is the new superclass? For one thing, having a table would make it obvious to the code reviewers whether the intended change was being made. 4. A few nits about the Java code snippet for the new exception types. a. ApiException has 4 constructors: (), (String), (Throwable) and (String, Throwable). I think you’ll need 4 constructors for each of your new exceptions. b. In some cases, the class names and the constructor names are inconsistent. 5. I believe that a producer application which received TopicAuthorizationException could continue to use the same Producer attempting to use the topic while the administrator fixed the ACLs to grant access, and then the operations would start working as soon as the access was in place. Is this true for the authorization exceptions in this KIP? Does it vary by resource type, such as transactional ID? Thanks, Andrew > On 6 Jun 2024, at 12:57, Kaushik Raina <kra...@confluent.io.INVALID> wrote: > > Hi everyone, I would like to start a discussion thread for KIP-1050: > Consistent error handling for Transactions > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1050%3A+Consistent+error+handling+for+Transactions > > > Thanks > Kaushik Raina