[ https://issues.apache.org/jira/browse/S4-41?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthieu Morel updated S4-41: ----------------------------- Fix Version/s: (was: 0.6) > Guaranteed Event-Delivery > ------------------------- > > Key: S4-41 > URL: https://issues.apache.org/jira/browse/S4-41 > Project: Apache S4 > Issue Type: New Feature > Affects Versions: 0.5.0 > Reporter: Karthik Kambatla > > From Skype call on 1/24: > Guaranteed Event Delivery needs to be supported, but should be optional as it > is bound to have significant performance trade-offs. Essentially, the Sender > needs to be ACKed on successful/failed send of an event. In case of a failure > or unknown status (timeout), the Sender re-sends the Event. > Note: This JIRA is related to S4-37, the extent to which it is related needs > to be decided. > Should this be implemented at the application level (s4-core) or > communication level (s4-comm)? > -To implement it in the comm-layer, guaranteed message delivery (comm-layer) > should translate to guaranteed event delivery (app-level). Receiver uses a > blocking queue - thus, every message received is queued as an event (no > messages are dropped) unless in case of interruptions. Also, we can modify > Receiver to use a SynchronousQueue and have Listeners use ArrayBlockingQueue > to make sure that no messages are dropped even in case of interruptions. > -To implement it in the application-level, the Receiver should send an ACK to > the Sender. This entails the following (1) Receiver should know the Sender > details, (2) a special ACKEvent, (3) direct hand-shake between the Sender > and Receiver (like implementing our own TCP). > Given these circumstances, I feel the best way to achieve this is to (1) > guarantee message-delivery, and (2) ensure that translates to guaranteed > event-delivery. > Please comment. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira