Yakov, I was actually asking about the public API for messaging (IgniteMessaging#sendOrdered method). Here is the JavaDoc:
* The {@code timeout} parameter specifies how long an out-of-order message will stay in a queue, * waiting for messages that are ordered ahead of it to arrive. If timeout expires, then all ordered * messages that have not arrived before this message will be skipped. When (and if) expired messages * actually do arrive, they will be ignored. I remember that we indeed had this scenario possible a while ago, but then implementation of ordered messaging was reworked and 'out-of-order message' can't happen anymore. Is this correct? If so, I think the timeout should be removed from the API. -Val On Tue, Jan 10, 2017 at 2:34 AM, Yakov Zhdanov <yzhda...@gridgain.com> wrote: > Val, timeout still makes sense for task sessions. It is possible that all > jobs mapped to node have been completed, but node still receives > attributes. Attributes are sent in ordered messages. It may happen so that > node may start processing jobs for that task again and this way all the > attributes will be available. If task timeout elapses then messages get > cleared. Please let me know if you still have questions. > > Thanks! > -- > Yakov Zhdanov, Director R&D > *GridGain Systems* > www.gridgain.com > > 2017-01-06 1:02 GMT+03:00 Valentin Kulichenko < > valentin.kuliche...@gmail.com > >: > > > Folks, > > > > Anyone knows what is the purpose of the timeout for > > IgniteMessaging#sendOrdered method? > > > > void sendOrdered(@Nullable Object topic, Object msg, long timeout); > > > > It seems to me that in current implementation messages are always ordered > > on communication level. I.e. if you send messages 1, 2 and 3, there is no > > way to receive 3 before 2. The only difference between ordered and > > unordered messages is that ordered are processed one after another in a > > single thread, while unordered can be processed in parallel. > > > > Having said that, timeout for ordered messages doesn't make much sense to > > me. Is there a scenario that I'm missing? > > > > -Val > > >