Thank You.

The issue is that I want to extend the notion of service failures beyond simple 
node failure/topology change scenarios.

I already have per Ignite service health check that runs custom health check on 
service and redeploys it if necessary obviously this is my custom 
implementation.
So now I was dealing with the part of deploying service only on eligible nodes 
where eligibility is dynamic and can't be determined by for example static node 
attributes.

Now I understand that nodeFilter is not actually a right approach as you 
explained and it was meant just to look to node static data like attributes and 
perform static filtering.

I have another idea : 

To use ClusterGroup based deployment specifically predicate() method. 
So when I deploy a service it will run predicate() on nodes for example using 
the below Ignite closure and return subset of nodes based on my remote 
predicate.

Will this work in your opinion ? Will Ignite run predicate() method of 
ClusterGroup when topology change for example ?

Yes this is will be really helpful I have already created my own workaround 
around this issue but official support will be far better :  
https://issues.apache.org/jira/browse/IGNITE-8365

Thank You,
Vladik

On 5/28/18, 19:51, "aealexsandrov" <aealexsand...@gmail.com> wrote:

    Hi,
    
    Please take a look at my answers below:
    
    1)Yes. Node filter should be run only on coordinator node after reassignment
    process. It could be executed several times and possible that Ignite
    instance can be uninjected. All this behavior should be documented as well
    as for me.
    
    2) Node filter predicate should be stateless and should always return the
    same value for the same node. It means that using the compute task in return
    value as you did isn't correct.
    
    As I know there is no direct possibility to see that service
    deployed/undeployed now. In case if all nodes from nodeFiter were failed
    then Ignite will wait for them. 
    
    I found next issue and possible that it could help with it when it will be
    ready - https://issues.apache.org/jira/browse/IGNITE-8365
    
    You can try to handle the service nodes by their ids and in case if all of
    them are offline try to do something.
    
    BR,
    Andrei
    
    
    
    
    --
    Sent from: http://apache-ignite-users.70518.x6.nabble.com/
    

Reply via email to