Class CommandRedistributor

java.lang.Object
io.camunda.zeebe.engine.processing.distribution.CommandRedistributor
All Implemented Interfaces:
StreamProcessorLifecycleAware

public final class CommandRedistributor extends Object implements StreamProcessorLifecycleAware
The Command Redistributor provides a mechanism to retry sending CommandDistributionRecords to other partitions. This is needed because the communication between partitions is unreliable.

A simple exponential backoff is used for retrying these pending distributions. This exponential backoff is statically configured to start of at 10 seconds COMMAND_REDISTRIBUTION_INTERVAL until it reaches a maximum of 5 minutes RETRY_MAX_BACKOFF_DURATION, doubling every time. This backoff is tracked for each pending distribution individually.