Skip to content

Commit e209bb6

Browse files
committedNov 1, 2023
kgo: pin AddPartitionsToTxn to v3 when using one transaction
KIP-890 has been updated such that v3 must be used by clients. We will pin to v3 unless multiple transactions are being added, or unless any transaction is verify only. Closes #609.
1 parent 6ebcb43 commit e209bb6

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed
 

‎pkg/kgo/client.go

+11-4
Original file line numberDiff line numberDiff line change
@@ -3420,10 +3420,17 @@ func (cl *addPartitionsToTxnSharder) shard(ctx context.Context, kreq kmsg.Reques
34203420

34213421
var issues []issueShard
34223422
for id, req := range brokerReqs {
3423-
issues = append(issues, issueShard{
3424-
req: req,
3425-
broker: id,
3426-
})
3423+
if len(req.Transactions) <= 1 || len(req.Transactions) == 1 && !req.Transactions[0].VerifyOnly {
3424+
issues = append(issues, issueShard{
3425+
req: &pinReq{Request: req, pinMax: true, max: 3},
3426+
broker: id,
3427+
})
3428+
} else {
3429+
issues = append(issues, issueShard{
3430+
req: req,
3431+
broker: id,
3432+
})
3433+
}
34273434
}
34283435
for _, unkerr := range unkerrs {
34293436
issues = append(issues, issueShard{

0 commit comments

Comments
 (0)
Please sign in to comment.