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.

Reply via email to