Re: Changing node attributes at runtime

2015-09-30 Thread vkulichenko
Hi Matt,

Attributes can't be changed in runtime because they are exchanged in
discovery when a node join topology. I think you should have a replicated
cache with node ID to collection of tags mapping. You can create cluster
groups that will dynamically assign computations to nodes based on the cache
contents.

-Val



--
View this message in context: 
http://apache-ignite-users.70518.x6.nabble.com/Changing-node-attributes-at-runtime-tp1535p1537.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.


Changing node attributes at runtime

2015-09-30 Thread Matt Hoffman
This was asked about a month ago, but the discussion ended up going a
different direction. I have a use case involving targeting computation to
nodes where the most natural answer _seems_ to be to be able to change node
attributes at runtime. I'm aware that right now node attributes can't be
changed at runtime; I'm curious if a.) there is a technical limitation why
this couldn't be supported, and b.) if there's perhaps a better way for me
to solve my problem.

I have a cluster of nodes, which can each have a list of tags indicating
whether a job should run on them. So I would like to be able to target jobs
to only those services that have a particular tag.
However, users can edit which tags apply to which nodes at runtime through
a UI. I can't restart nodes when tags are edited. I'm flexible about how I
store the tags -- I could store them in a cache or another central store,
for example. So the only alternative I can think of to having attributes
editable at runtime is to have a map of tags to cluster node IDs in a
central location, and explicitly build a ClusterGroup from that when
launching compute jobs. Does that sound reasonable? Is there a better way
to handle this kind of thing?


Thanks,


Matt