I'd originally set the MessageGroupId in the FiFo queue to be the Sink ID with the understanding that I wanted CoTs to be processed in order as the "latest" CoT needs to be the last processed out of a list. We've seen significant bottlenecks for large CoT submissions to the sink API which were alleviated significantly in a prior PR which introduces parallelism within the FiFo batch of 10 messages.
This should further reduce queue congesion by instead limiting processing by Sink ID and then secondarily by CoT UID. Thereforce each CoT UID has to be processed in order but CoTs within a given sink can be processed in parallel.
Context
I'd originally set the MessageGroupId in the FiFo queue to be the Sink ID with the understanding that I wanted CoTs to be processed in order as the "latest" CoT needs to be the last processed out of a list. We've seen significant bottlenecks for large CoT submissions to the sink API which were alleviated significantly in a prior PR which introduces parallelism within the FiFo batch of 10 messages.
This should further reduce queue congesion by instead limiting processing by Sink ID and then secondarily by CoT UID. Thereforce each CoT UID has to be processed in order but CoTs within a given sink can be processed in parallel.