David Jacot created KAFKA-16846: ----------------------------------- Summary: Should TxnOffsetCommit API fail all the offsets if any fails the validation? Key: KAFKA-16846 URL: https://issues.apache.org/jira/browse/KAFKA-16846 Project: Kafka Issue Type: Improvement Reporter: David Jacot
While working on KAFKA-16371, we realized that the handling of INVALID_COMMIT_OFFSET_SIZE errors while committer transaction offsets, is a bit inconsistent between the server and the client. On the server, the offsets are validated independently from each others. Hence if two offsets A and B are committed and A fails the validation, B is still written to the log as part of the transaction. On the client, when INVALID_COMMIT_OFFSET_SIZE is received, the transaction transitions to the fatal state. Hence the transaction will be eventually aborted. The client side API is quite limiting here because it does not return an error per committed offsets. It is all or nothing. From this point of view, the current behaviour is correct. It seems that we could either change the API and let the user decide what to do; or we could strengthen the validation on the server to fail all the offsets if any of them fails (all or nothing). We could also leave it as it is. -- This message was sent by Atlassian Jira (v8.20.10#820010)