Hi Alexandr,

Yes, I'm using a StreamReceiver since I'm mostly using the cache as a
router. The implementation is more-or-less like the following:



The StreamPipeline is managed by the data node which contains the stages
that make up the pipeline and what service is responsible for each stage
(the service exposes a handle method which is used for side-effects or
modifying entries as they go through the pipeline). When a service is
started or cancelled it will poke the pipeline so it can add or remove that
stage from the pipeline. The pipeline is also aware if all required services
have started or not.

I didn't mention it initially here, but the classes for these services are
_not_ available to Ignite when the node starts. Instead, the node is
actually starting a generic service which fetches required jar files from
IGFS and then starts the real service using a URLClassLoader (once that is
done the pipeline poke I mentioned above occurs). I'm doing this to get
around existing service grid limitations with regards to dynamic code
deployment.

Because of the above, I wouldn't assume service startup would be "fast" when
compared to map partitions being rebalanced to the new node. 

Can you please elaborate on the following?

"Service should start quickly after node has joined the topology, and will
process all the data has been collected by local partitions the moments
before."

It sounds like you're implying that data is being buffered somewhere, but
not quite following.

Thanks!
-Nick 



--
View this message in context: 
http://apache-ignite-developers.2346864.n4.nabble.com/Add-ability-to-enable-and-disable-rebalancing-per-node-tp17494p17600.html
Sent from the Apache Ignite Developers mailing list archive at Nabble.com.

Reply via email to