Coordination

Customize the behavior of the commit and exclusive assignment processes.

Offset Commit

K2K keeps track of progress by periodically committing offsets indicating the last offset it replicated. Rather than using the Consumer Group API to commit offsets, K2K utilizes instead a control topic in the target cluster to write and store this information.

Bellow, it's a table of the configuration options that allow tweaking this process.

Property Path
Description
Default
Required

coordination.commit.topic

Control topic that holds the commit information.

__k2k_consumer-offsets

No

coordination.commit.syncTimeout

Max amount of time K2K will spend attempting to read the contents of the offset commit control topic

30 seconds

No

coordination.commit.batchSize

Max number of records produced before a commit message is also produced.

1000

No

coordination.commit.batchTimeout

Max amount of time between commit messages are produced.

2 seconds

No

Exclusive Assignment

When features.exactlyOnce is used, K2K needs to make sure that at any given time, not more than one Producer is producing data for the same Source Topic Partition. Due to the lack of support for inter-cluster transactions, K2K has a custom strategy in order to guarantee the aforementioned invariant holds.

Bellow, it's a table of the configuration options that allow tweaking this process.

Property Path
Description
Default
Required

coordination.assignment.topic

Control topic where K2K instances will publish information about which partitions they are using.

__k2k_consumer-offsets

No

coordination.assignment.graceWindow

Max amount of time an instance will wait before fencing a producer that owns a partition the current instance was assigned.

15 seconds

No

coordination.assignment.fencingMaxParallelism

Controls how many producers can be fenced in parallel .

5

No

Last updated

Was this helpful?