ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shawn Du" <shawn...@neulion.com.cn>
Subject 答复: Cache.invoke are terribly slow and can't update cache
Date Thu, 22 Dec 2016 02:33:48 GMT
Thanks Val!

Can you explain more detail how "invoke" works internally comparing with put
operation. For we pass a "function" to ignite. 

I see below Java Doc about "invoke"

* An instance of entry processor must be stateless as it may be invoked
multiple times on primary and
* backup nodes in the cache. It is guaranteed that the value passed to the
entry processor will be always
* the same.

My question: can we use *outer* object in the function process of
EntryProcessor which is visible in its scope?
More complex, how to iterate, just like in my code?

Thanks
Shawn


-----邮件原件-----
发件人: vkulichenko [mailto:valentin.kulichenko@gmail.com] 
发送时间: 2016年12月22日 2:52
收件人: user@ignite.apache.org
主题: Re: Cache.invoke are terribly slow and can't update cache

Hi Shawn,

Cache is not updated because you never update it :) i.e. entry.setValue() is
never called.

Bad performance can be caused by the fact that you do multiple operations
one after another in a single thread without any batching. Consider using
invokeAll or IgniteDataStreamer.

As for OOME, it's hard to tell what's causing it. Did you look at the heap
dump?

-Val



--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/Cache-invoke-are-terribly-slo
w-and-can-t-update-cache-tp9676p9685.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Mime
View raw message