Sasha, The idea behind the ticket was as follows: currently, the rebalanceDelay property is set in CacheConfiguration, which is not very flexible. In certain circumstances, a user might expect particularly large load on some segments of the cluster and want to disable rebalancing for those (existing) nodes only in a case of topology change to reduce CPU and network activity related to rebalancing. Thus, I do not think that you should involve partition map exchange as it is a heavy cluster-wide operation. At the first glance, pausing and resuming of rebalancing can be implemented in a local-only manner.
Disabling exchanges to grow a cluster is indeed a great idea, but it has nothing to do with the original ticket. 2017-05-12 0:26 GMT+03:00 npordash <nickpord...@gmail.com>: > 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. >