Skip to content

Add StreamType to StreamIdentifier and skip hash range ERROR logs for… - #1730

Merged
ehasah-aws merged 1 commit into
awslabs:masterfrom
rahultg1411:fix/hash-range-stream-type
Apr 21, 2026
Merged

ehasah-aws merged 1 commit into
awslabs:masterfrom
rahultg1411:fix/hash-range-stream-type

Conversation

@rahultg1411

@rahultg1411 rahultg1411 commented Apr 13, 2026 •

Copy link
Copy Markdown
Contributor

Fixes backward compatibility issue introduced in #1709 (reverted by KCL team due to compat check failure).

Description of changes:

Adds streamType field to StreamIdentifier to distinguish DynamoDB Streams from Kinesis Data Streams, allowing PeriodicShardSyncManager to skip hash range validation ERROR logs for non-Kinesis streams.

To fix the backward compatibility issue (adding a field changes Lombok's auto-generated constructor signature), moved @builder(toBuilder = true) from the class to an explicit private constructor and added a package-private 4-arg constructor matching the old signature. A partial StreamIdentifierBuilder class provides field defaults (replacing @Builder.Default). Builder remains public for Pod1 ARN support.

Files changed:

  • StreamIdentifier.java β€” streamType field, builder-on-constructor pattern, backward-compatible constructor, factory method overloads
  • PeriodicShardSyncManager.java β€” skip hash range error logging for non-Kinesis streams
  • StreamIdentifierTest.java β€” tests for streamType defaults and equality exclusion

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

@rahultg1411
rahultg1411 force-pushed the fix/hash-range-stream-type branch from 1ed60fe to 6b28335 Compare April 13, 2026 17:38
@rahultg1411
rahultg1411 marked this pull request as ready for review April 15, 2026 02:27
@ehasah-aws
ehasah-aws merged commit 61a457c into awslabs:master Apr 21, 2026
7 checks passed
rahultg1411 added a commit to rahultg1411/dynamodb-streams-kinesis-adapter that referenced this pull request May 4, 2026
Pass DynamoDB_Streams stream type in both single and multi stream tracker
creation so KCL can identify DynamoDB Streams and skip hash range ERROR logs.

Depends on: awslabs/amazon-kinesis-client#1730
Resolves: awslabs#74
rahultg1411 added a commit to rahultg1411/dynamodb-streams-kinesis-adapter that referenced this pull request May 4, 2026
Pass DynamoDB_Streams stream type in both single and multi stream tracker
creation so KCL can identify DynamoDB Streams and skip hash range ERROR logs.

Depends on: awslabs/amazon-kinesis-client#1730
Resolves: awslabs#74
rattang-dev pushed a commit to awslabs/dynamodb-streams-kinesis-adapter that referenced this pull request May 4, 2026
Pass DynamoDB_Streams stream type in both single and multi stream tracker
creation so KCL can identify DynamoDB Streams and skip hash range ERROR logs.

Depends on: awslabs/amazon-kinesis-client#1730
Resolves: #74

This branch was previously deployed

1 inactive deployment
manual-approval β€” 6b283356 Deployed Apr 13, 2026 by rahultg1411 via wait-for-approval #123
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.

3 participants