Pamod Sylvester created SYNAPSE-1130: ----------------------------------------
Summary: Introduce Resequence Message Store Key: SYNAPSE-1130 URL: https://issues.apache.org/jira/browse/SYNAPSE-1130 Project: Synapse Issue Type: Sub-task Components: Core Affects Versions: 3.0.1 Reporter: Pamod Sylvester Assignee: Isuru Udana Fix For: FUTURE [Resequencer|[https://www.enterpriseintegrationpatterns.com/patterns/messaging/Resequencer.html] ] will consolidate out of order messages and ensure that the messages are rearranged to the correct order before sending it out. h1. Description Resequencer can have two forms, h3. Batch Resequencer # Order identifying criteria (based on message body expression etc, header)/this should be extensible # Resequencing delimiters (batch size, timeout) h3. Stream Resequencer # Order identifying criteria - header “seqnum” # Resequencing delimiters - gap detection/timeout Gap detection - This will ensure that for a given sequence number say 3, the predecessor is 2 and the successor is 4. If this doesn’t match it will wait until the matching predecessor arrives before sending the message out. h1. Resequence Message Processor vs Resequence Message Store At present the resquence processor will introduce the following discrepancies, # Messages will be peeked and polled from volatile memory, hence reliability guarantees cannot be provided # The algorithm assumes once a message is picked/peeked from store the next message could be peeked without having to remove the current message. This operation would not resonate with queuing architectures such as JMS (which could be introduced in future; for message stores). # Implementation is based on stream sequencing. Batch sequencing is not supported Hence it's important to note; for EIPs such as resequencer a more non volatile store is required. Further options such as batch resequencing is required. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@synapse.apache.org For additional commands, e-mail: dev-h...@synapse.apache.org