Тайм-аут транзакции Kafka против истечения срока действия идентификатора транзакции - PullRequest
0 голосов
/ 15 января 2020

Я пытаюсь понять разницу между свойством (max.)transaction.timeout.ms и transaction.id.expiration.timeout.

Из того, что я понимаю, первое убивает транзакцию, если производитель не отправляет обновление в течение своего времени ожидания (по умолчанию 60 секунд), в то время как последний убивает идентификатор транзакции производителя, если он не отправляет обновление в течение своего тайм-аута (по умолчанию 7 дней).

Мой вопрос: почему оба существуют и почему у них очень разные значения по умолчанию ? Я думаю, потому что, если производитель не отправляет обновление транзакции, транзакция прерывается после первого тайм-аута, и если производитель продолжает не отправлять обновление, после второго тайм-аута идентификатор транзакции производителя также удаляется. Иначе я бы не понял, как может произойти второй тайм-аут, так как первый уже закрывает транзакцию.

Я что-то упустил?

...