Hi Andrew, > Cache API's put method can not satisfy the performance and DataStreamer can > not keep messages ordered, So I chose the IgniteMessaging(someone of > igniters recommended to me a couple of months ago).
You should keep in mind that IgniteMessaging.sendOrdered is not synchronized meaning that if you execute this method from several Threads on the same node then the order is undefined. Also on a receiver side message are ordered per sender meaning if you send ordered messages of the same topic but from different nodes the messages will be ordered by sender on the receiver side. > Anyway, 7th sequence of your suggestion, when should I trigger SQL query > like “SELECT * FROM messages WHERE state != processing and > processingNodeUUID != failedNodeUUID” ? You should trigger it when topology changes. Every node should subscribe for EventType.EVT_NODE_FAILED and EventType.EVT_NODE_LEFT execute the query when on of these events happen. > I used the event 'EVT_CACHE_REBALANCE_STOPPED' as a trigger to check primary > partition, > it worked well on Ignite v1.5 but not any more with Ignite v1.6. > That's why I registered this issue. Could you please elaborate a bit more on what you mean under ‘it worked well’? Presently as I understand from your previous reply this event is triggered before the rebalancing happens. Could you prepare a test/reproducer for us so that we can take a look what exactly happens on your side. — Denis > On Jun 16, 2016, at 5:43 AM, Andrew <[email protected]> wrote: > > Hi, Denis. > > Thanks for your suggestion. > But that way is already I tried before. > Cache API's put method can not satisfy the performance and DataStreamer can > not keep messages ordered, So I chose the IgniteMessaging(someone of > igniters recommended to me a couple of months ago). > Anyway, 7th sequence of your suggestion, when should I trigger SQL query > like “SELECT * FROM messages WHERE state != processing and > processingNodeUUID != failedNodeUUID” ? > I used the event 'EVT_CACHE_REBALANCE_STOPPED' as a trigger to check primary > partition, > it worked well on Ignite v1.5 but not any more with Ignite v1.6. > That's why I registered this issue. > > Is there any workaround to be notified rebalance is really finished? > There is a log like > "[10:27:05,721][INFO ][sys-#24%null%][GridDhtPartitionDemander] > <ON_HEAP_CACHE> /*Completed (final) rebalancing*/ [cache=ON_HEAP_CACHE, > fromNode=bdd66bca-ad0d-498a-9837-205cba15a91e, > topology=AffinityTopologyVersion [topVer=11, minorTopVer=0], time=15 ms]" > on ignite log. > > > Sincerely, > Andrew. > > > > -- > View this message in context: > http://apache-ignite-users.70518.x6.nabble.com/How-do-I-know-the-cache-rebalance-is-finished-tp5219p5658.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com.
