Hello Artem, Now that `InitProducerIdRequest` will have an extra parameter (enable2PC), can the client change the value of this parameter during an ongoing transaction.
Here is how the transaction coordinator responds to InitProducerId requests according to the current transaction's state. - Empty | CompleteAbort | CompleteCommit Bump epoch and move to Empty state. Accept any changes from incoming InitProducerId request like transactionTimeoutMs - Ongoing Bump epoch and move to PrepareEpochFence state. Transaction time out is not changed. - PrepareAbort | PrepareCommit No changes internally. Return Concurrent transactions error to the client. I guess we should allow the same behavior for mutating enable2PC flag under these conditions as for transaction timeout value.