Thank you for the clarification!

Joseph

On Thursday, February 4, 2016 at 2:59:07 PM UTC+1, drewhk wrote:
>
>
>
> On Thu, Feb 4, 2016 at 2:52 PM, Joseph Noir <josep...@gmail.com 
> <javascript:>> wrote:
>
>> This email comes without context: what exactly are you referring to?
>>
>>
>> Sorry, I'll try to clarify my question.
>>
>>  
>>
>>> Yes, messages are enqueued in the remoting layer such that the original 
>>> ordering constraint it upheld, then transmitted in sequence and delivered 
>>> to recipient mailboxes in that same sequence as well (synchronously—beware 
>>> of bounded mailboxes with push timeout > 0).
>>
>>
>> I assumed that your "Yes" referred to my comment on TCP being used to 
>> ensure ordering when delivering messages over the network. TCP itself 
>> ensures reliable delivery as well as maintaining the order of messages. 
>> However, the documentation [1] specifies message delivery to be 
>> at-most-once, i.e., messages can be lost. Why is the ordering ensured by 
>> TCP, when the delivery is not? 
>>
> Because connections might get severed in which case we have no clue how 
> much of the messages have been actually delivered or not, TCP only knows 
> the last ACK, but if the ACK does not arrive for later messages because the 
> connection has been lost then there are no guarantees about them.
>
> Also, ordering is not ensured by TCP alone, there are great pains taken in 
> remoting that ordering is respected *across* TCP connections where 
> reconnects happen.
>
> On top of this, messages can get lost if messages are sent faster than the 
> TCP connection can handle, forcing remoting to drop buffers to avoid OOME.
>
> -Endre
>  
>
>>
>> Ok. If that is the case, is the reason reliability is not guaranteed that 
>>> mailboxes may be full or nodes may crash?
>>
>>
>> Hopefully, this clarified the question, i.e., even if the message is 
>> delivered to the network buffer it may still not be passed to an actor 
>> because the node may crash or mailboxes may be full.
>>
>>
>> Joseph
>>
>>
>> [1] 
>> http://doc.akka.io/docs/akka/current/general/message-delivery-reliability.html
>>
>> -- 
>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>> >>>>>>>>>> Check the FAQ: 
>> http://doc.akka.io/docs/akka/current/additional/faq.html
>> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to akka-user+...@googlegroups.com <javascript:>.
>> To post to this group, send email to akka...@googlegroups.com 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to akka-user+unsubscr...@googlegroups.com.
To post to this group, send email to akka-user@googlegroups.com.
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to