You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Until now we set the recordTtl to infinite time when configuring the Kinesis Producer. We thought it was a good idea, because we trusted KPL to retry forever.
However, we found that KPL can go into a death spiral from which it never recovers. I think this happens because KPL retries very aggressively, and it can overwhelm the network, or the Kinesis service. Worst of all, the KPL does not produce any logs while this is happening, so it looks like the app has frozen. If this happens, it would be much better for the KPL to stop retrying, and give up and let the application crash. Therefore, we should cap recordTtl to a finite value.
The text was updated successfully, but these errors were encountered:
Until now we set the
recordTtl
to infinite time when configuring the Kinesis Producer. We thought it was a good idea, because we trusted KPL to retry forever.However, we found that KPL can go into a death spiral from which it never recovers. I think this happens because KPL retries very aggressively, and it can overwhelm the network, or the Kinesis service. Worst of all, the KPL does not produce any logs while this is happening, so it looks like the app has frozen. If this happens, it would be much better for the KPL to stop retrying, and give up and let the application crash. Therefore, we should cap recordTtl to a finite value.
The text was updated successfully, but these errors were encountered: