[ 
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)

Reply via email to