[
https://issues.apache.org/jira/browse/NIFI-14394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17938994#comment-17938994
]
Dariusz Seweryn commented on NIFI-14394:
----------------------------------------
Without 20 character specification we would have issues with appropriately
comparing messages with different sequenceNumber. Consider:
* message A with sequenceNumber="1", subSequenceNumber=10
* message B with sequenceNumber="2", subSequenceNumber=0
* message C with sequenceNumber="11", subSequenceNumber=0
Without using "%s%020d" message A would have shardedSequenceNumber="110" and
message B shardedSequenceNumber="20". This would suggest message B came before
message A. Additionally message A and C would share the same
shardedSequenceNumber="110" making them indistinguishable with a single value
comparison.
> ConsumeKinesisStream support for Sub Sequence Number
> ----------------------------------------------------
>
> Key: NIFI-14394
> URL: https://issues.apache.org/jira/browse/NIFI-14394
> Project: Apache NiFi
> Issue Type: Improvement
> Components: Extensions
> Affects Versions: 2.3.0
> Reporter: Dariusz Seweryn
> Priority: Major
>
> ConsumeKinesisStream supports "Output Strategy" of "Use Wrapper" which wraps
> message data and metadata into record content.
> Currently metadata includes:
> * stream
> * shardId
> * sequenceNumber
> * partitionKey
> * approximateArrival
> What it does not include is Sub Sequence Number which is assigned to messages
> that [are aggregated by the Amazon's Kinesis Producer
> Library|https://docs.aws.amazon.com/streams/latest/dev/kinesis-producer-adv-aggregation.html]
> making them indistinguishable by evaluating metadata.
> Proposal is to add to wrapped metadata:
> * subSequenceNumber — a long
> * shardUniqueId — a String formed as {{String.format("%s%020d",
> sequenceNumber, subSequenceNumber)}} which could be useful for uniquely
> identifying messages identifying order using a single comparison
--
This message was sent by Atlassian Jira
(v8.20.10#820010)