Thank you Andrew for feedback 1. We are suggesting to only update subclasses of o.a.k.common.errors.ApiException, which are used in transactions. All such subclasses are mentioned in Exception table <https://cwiki.apache.org/confluence/display/KAFKA/KIP-1050%3A+Consistent+error+handling+for+Transactions#KIP1050:ConsistenterrorhandlingforTransactions-ExceptionTable>
2. "Producer-Recoverable" corresponds to the AbortableException. I have updated comments on each exception type. 3. Yes, it's correct that by adding a "Retriable" exception, it simplifies the determination of which errors can be retried internally. In the Exception table <https://cwiki.apache.org/confluence/display/KAFKA/KIP-1050%3A+Consistent+error+handling+for+Transactions#KIP1050:ConsistenterrorhandlingforTransactions-ExceptionTable> mentioned in the "Proposed Changes" section, the "Expected Handling" column signifies the handling for each error type. Please let me know if any further clarification is needed. 4a. Yes, that is correct. For clarity, only one constructor has been mentioned in the KIP. An ellipsis has been added as a placeholder, indicating that there are additional functions in the class but they are not explicitly specified. 4b. Updated in the KIP. 5. TopicAuthorizationException extends "Invalid Configuration". "Invalid Configuration" type can be resolved either by dynamically updating the configuration, which does not require a restart, or by statically updating it by restarting the application. It is at the application's discretion how they want to handle each "Invalid Configuration" type. I have added Client side handling example <https://cwiki.apache.org/confluence/display/KAFKA/KIP-1050%3A+Consistent+error+handling+for+Transactions#KIP1050:ConsistenterrorhandlingforTransactions-Clientsidecodeexample> in KIP. Hope that helps.