Skip to content

Bound DynamoDB lock client calls with dynamoDbRequestTimeout - #1842

Merged
chenylee-aws merged 1 commit into
awslabs:masterfrom
chenylee-aws:fix-leader-decider-hang
Oct 30, 2026
Merged

chenylee-aws merged 1 commit into
awslabs:masterfrom
chenylee-aws:fix-leader-decider-hang

Conversation

@chenylee-aws

@chenylee-aws chenylee-aws commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Issue #, if available:

Description of changes:

DynamoDbAsyncToSyncClientAdapter, used by the leader-election lock client, waited on each DynamoDB call with an untimed join(). It now waits with FutureUtils.resolveOrCancelFuture and LeaseManagementConfig.dynamoDbRequestTimeout(), the same helper and timeout used for lease table calls. The timeout is passed from Scheduler through CoordinatorStateDAO and its delegates.

Testing:

  • Updated existing unit tests for the new constructor parameter.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

DynamoDbAsyncToSyncClientAdapter waited on each call with an untimed join(), so a call that never completes could block isLeader() and every caller behind it forever. Wait with FutureUtils.resolveOrCancelFuture and the existing LeaseManagementConfig.dynamoDbRequestTimeout, passed from Scheduler through CoordinatorStateDAO and its delegates.
@chenylee-aws
chenylee-aws force-pushed the fix-leader-decider-hang branch from cf5e956 to 96e1908 Compare October 30, 2026 01:41
@chenylee-aws
chenylee-aws marked this pull request as ready for review October 30, 2026 18:16
@chenylee-aws
chenylee-aws merged commit 102207b into awslabs:master Oct 30, 2026
5 of 6 checks passed
@chenylee-aws
chenylee-aws deleted the fix-leader-decider-hang branch October 30, 2026 20:45
vincentvilo-aws pushed a commit to vincentvilo-aws/amazon-kinesis-client that referenced this pull request Nov 3, 2026

This branch is waiting to be deployed

1 waiting deployment
manual-approval — 96e19085 Waiting Oct 30, 2026 by chenylee-aws via wait-for-approval #382
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants