From 848a9c858c6c50b4b52ad7958de20570dfdb9a91 Mon Sep 17 00:00:00 2001 From: Minu Hong <32614113+minuhong-aws@users.noreply.github.com> Date: Fri, 11 Apr 2025 16:42:59 -0700 Subject: [PATCH] Update kcl_3x_deep-dive.md --- docs/kcl_3x_deep-dive.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/kcl_3x_deep-dive.md b/docs/kcl_3x_deep-dive.md index 47b88c6b..8749812f 100644 --- a/docs/kcl_3x_deep-dive.md +++ b/docs/kcl_3x_deep-dive.md @@ -65,7 +65,7 @@ KCL 3.x implements leader election using `DynamoDBLockClient` library ([GitHub l - 3) Claims leadership if the previous lock owner's heartbeat has expired, following a first-worker-wins model ### **Leader failure handling in KCL 3.x** -The `DynamoDBLockClient` library ([GitHub link](https://github.com/awslabs/amazon-dynamodb-lock-client/)) provides the core failure handling capabilities. It monitors and responds to various failure scenarios including network partitions, worker shutdowns, and overloaded workers. When a worker fails to maintain its heartbeat on the lock item, KCL 3.x automatically enables another worker to claim leadership. +The `DynamoDBLockClient` library provides the core failure handling capabilities. It monitors and responds to various failure scenarios including network partitions, worker shutdowns, and overloaded workers. When a worker fails to maintain its heartbeat on the lock item, KCL 3.x automatically enables another worker to claim leadership. KCL 3.x extends the base failure handling with additional safeguards for critical operations such as lease assignments. If there are three consecutive failures in lease assignment by a leader ([GitHub code ref](https://github.com/awslabs/amazon-kinesis-client/blob/68a7a9bf53e03bd9177bbf2fd234aca103d7f5dc/amazon-kinesis-client/src/main/java/software/amazon/kinesis/coordinator/assignment/LeaseAssignmentManager.java#L81)), KCL 3.x detects and releases the leadership to enable other workers to take the leadership and perform lease assignments. This dual-layer failure handling mechanism ensures both infrastructure-level and application-level failures are handled effectively.