ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yakov Zhdanov <yzhda...@apache.org>
Subject Re: Messaging Reliability
Date Mon, 04 Apr 2016 15:15:11 GMT
I think javadocs are not 100% correct. I am pretty sure exception will be
thrown if connection to some node cannot be established, but if node A
already have active connections to all nodes you want to send message to
then message will be put to per-connection queues and will be sent in async

I think you can introduce new method that waits until message is acked from
all nodes or throws exception if any of the target nodes leave.

java.lang.Object, int,
org.apache.ignite.plugin.extensions.communication.Message, byte, boolean,
long, boolean,


2016-04-04 13:59 GMT+03:00 Hausmann Philipp <philipp.hausmann@fhnw.ch>:

> Thank you, that already helps me a lot!
> One further question though. Given your answer and the javadoc
> documentation, I assume that the unordered send method in IgniteMessaging
> is blocking until
> all recipients in the topic have received the message, right? And if any
> of the recipients fails to receive the message, an IgniteException is
> thrown?
> And what happens if a new node is joining the cluster while a message is
> being sent?
> If it makes sense, I could create a pull request to add this information
> to the javadoc?
> Philipp
> ------------------------------
> *From:* Yakov Zhdanov [yzhdanov@apache.org]
> *Sent:* Monday, April 04, 2016 11:49
> *To:* user@ignite.apache.org
> *Subject:* Re: Messaging Reliability
> Philipp,
> Messaging works on top of Ignite internal communication sub-system.
> Message delivery is guaranteed, unless recipient node has not left the
> grid. If it leaves (i.e. topology gets EVT_NODE_LEFT or EVT_NODE_FAILED),
>  then sender clears internal queue associated with left node. When node
> receives the messages it sends internal acks to let sender now that
> messages can be removed from queue.
> Message correctness is not checked additionally - we rely on TCP here.
> Let me know if you have more questions.
> Thanks!
> --Yakov
> 2016-04-04 12:13 GMT+03:00 Hausmann Philipp <philipp.hausmann@fhnw.ch>:
>> Hi all
>> I am considering using Ignite messages to manage some jobs in my cluster.
>> I've seen that one can send messages either in an ordered or unordered
>> fashion,
>> but the documentation does not specify any further guarantees. So far I
>> have come up with the following questions:
>> - Is delivery of point-to-point messages guaranteed?
>> - Is delivery of topic messages to all/to some listeners guaranteed?
>> - Is correctness of delivered messages guaranteed (e.g. bitflips)?
>> My current impression is, that Ignite does not guarantee anything beyond
>> ordering. Does anybody know anything more about this?
>> All the best,
>> Philipp

View raw message