You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by "Sobolevsky, Vladeslav" <vs...@akamai.com> on 2018/05/27 14:05:22 UTC

Need clarification on redeploy behavior

Hi,

I have cluster singleton service defined with nodeFilter and background thread that periodically checks service health.
In case my health check fails it tries to re-deploy service using undeploy and deploy API.
In general it works great but in case that there is some temporary issue on all nodes and  nodeFilter return false service will not be deployed as expected.
After the above issue fixed e.g things back to normal I try to call deploy again with same service configuration but it seems that in this case it doesn’t run nodeFilter code and actually will stay in that state forever.
Is it work as designed ? How can I force service redeployment in such case ? I would expect it to run nodeFilter and in case it valid to deploy this on that node.

Ignite 2.4 and currently it 2 or single machine “cluster”

Thank You,
Vladik

Re: Need clarification on redeploy behavior

Posted by "Sobolevsky, Vladeslav" <vs...@akamai.com>.
Yes I understand it now (

I found the solution to this actually ... 
Following work :
In case if service failed to deploy for some reason for example because there is no eligible nodes .
Running cancel for service and then deploy again with same config will trigger the cycle again and actually "force" redeploy.
But obviously I am abusing the nodeFilter as you mentioned.

Thank You,
Vladik

On 5/28/18, 20:10, "aealexsandrov" <ae...@gmail.com> wrote:

    Hi,
    
    There is no force deploying/undeploying possibility as I know.
    
    As was mentioned in another your question:
    
    http://apache-ignite-users.70518.x6.nabble.com/Clarification-regarding-nodeFilter-td21671.html
    
    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
    statement as you did isn't correct. 
    
    Note that nodeFilter predicate is a part of service configuration. So you
    can't change it after service deployment (add/remove a new node to node
    filter logic). 
    
    You should undeploy it fully and deploy with the new configuration
    (add/remove a new node to node filter logic).
    
    BR,
    Andrei
    
    
    
    
    
    
    --
    Sent from: http://apache-ignite-users.70518.x6.nabble.com/
    


Re: Need clarification on redeploy behavior

Posted by aealexsandrov <ae...@gmail.com>.
Hi,

There is no force deploying/undeploying possibility as I know.

As was mentioned in another your question:

http://apache-ignite-users.70518.x6.nabble.com/Clarification-regarding-nodeFilter-td21671.html

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
statement as you did isn't correct. 

Note that nodeFilter predicate is a part of service configuration. So you
can't change it after service deployment (add/remove a new node to node
filter logic). 

You should undeploy it fully and deploy with the new configuration
(add/remove a new node to node filter logic).

BR,
Andrei






--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/