ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Magda <dma...@gridgain.com>
Subject Re: How do I know the cache rebalance is finished?
Date Thu, 16 Jun 2016 09:20:38 GMT
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 <jkan@bistel.co.kr> 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.


Mime
View raw message