Igniters,
I would like to discuss how we can support following features for Service: 1) Made services work on deactivated cluster. What we need for that? Introduce some flag on service configuration? 2) Auto start service after full cluster restart if service was started at runtime. Can we have also add some flag on service configuration? And store such services the same way as we store user information for authentication in metastorage? What do yo think? I can create issues in JIRA if we agreed to support them. -- Alexey Kuznetsov |
Alex,
1. Why do you need an operational service if the cluster is deactivated (no changes to data are allowed, right)? 2. That should be covered in the existing EIP -- Denis On Fri, Dec 7, 2018 at 6:20 AM Alexey Kuznetsov <[hidden email]> wrote: > Igniters, > > I would like to discuss how we can support following features for Service: > > 1) Made services work on deactivated cluster. What we need for that? > Introduce some flag on service configuration? > > 2) Auto start service after full cluster restart if service was started at > runtime. > Can we have also add some flag on service configuration? > And store such services the same way as we store user information for > authentication in metastorage? > > What do yo think? > > I can create issues in JIRA if we agreed to support them. > > -- > Alexey Kuznetsov > |
Denis,
I'm thinking that we could have services that could do something useful even when cluster is deactivated. For example, I'm investigating how I can implement a Web Agent as a cluster singleton and I need that Web Agent should be always "on-line" and send telemetry to Web Console. Other users can also implement services that will do something useful even when cluster is deactivated. Make sense? On Sat, Dec 8, 2018 at 1:04 AM Denis Magda <[hidden email]> wrote: > Alex, > > 1. Why do you need an operational service if the cluster is deactivated (no > changes to data are allowed, right)? > > 2. That should be covered in the existing EIP > > -- > Denis > > On Fri, Dec 7, 2018 at 6:20 AM Alexey Kuznetsov <[hidden email]> > wrote: > > > Igniters, > > > > I would like to discuss how we can support following features for > Service: > > > > 1) Made services work on deactivated cluster. What we need for that? > > Introduce some flag on service configuration? > > > > 2) Auto start service after full cluster restart if service was started > at > > runtime. > > Can we have also add some flag on service configuration? > > And store such services the same way as we store user information for > > authentication in metastorage? > > > > What do yo think? > > > > I can create issues in JIRA if we agreed to support them. > > > > -- > > Alexey Kuznetsov > > > -- Alexey Kuznetsov |
Alexey,
If the question related only to Service Grid, I would say that it shouldn't be difficult. But there a lot of questions should be resolved before: * public API is covered behind guards and user can't get services on the inactive cluster (Ignite#services); * service proxy's invocation processes via 'GridClosureProcessor', at first sight, the processor does nothing on deactivation, so it shouldn't be a problem (need deeper investigation); * if service implementation based on Ignite's components, e.g. cache, data-structures, streaming or something else, then it may become a cause of unexpected behaviour. I'd not like to allow end-users use of Service Grid after cluster deactivation. But, if we are talking about internal service implementation that means we know the possible pitfalls, then we are able to introduce some flag to avoid the service cancellation on cluster deactivation. Regarding service's autostart, for both new and old implementations: At current time services are not saved in metastore at node shutdown, it means only statically configured services will be restored after the restart. It may be implemented in future. On Sat, Dec 8, 2018 at 8:33 AM Alexey Kuznetsov <[hidden email]> wrote: > > Denis, > > I'm thinking that we could have services that could do something useful > even when cluster is deactivated. > For example, I'm investigating how I can implement a Web Agent as a cluster > singleton and I need that > Web Agent should be always "on-line" and send telemetry to Web Console. > > Other users can also implement services that will do something useful even > when cluster is deactivated. > > Make sense? > > > On Sat, Dec 8, 2018 at 1:04 AM Denis Magda <[hidden email]> wrote: > > > Alex, > > > > 1. Why do you need an operational service if the cluster is deactivated (no > > changes to data are allowed, right)? > > > > 2. That should be covered in the existing EIP > > > > -- > > Denis > > > > On Fri, Dec 7, 2018 at 6:20 AM Alexey Kuznetsov <[hidden email]> > > wrote: > > > > > Igniters, > > > > > > I would like to discuss how we can support following features for > > Service: > > > > > > 1) Made services work on deactivated cluster. What we need for that? > > > Introduce some flag on service configuration? > > > > > > 2) Auto start service after full cluster restart if service was started > > at > > > runtime. > > > Can we have also add some flag on service configuration? > > > And store such services the same way as we store user information for > > > authentication in metastorage? > > > > > > What do yo think? > > > > > > I can create issues in JIRA if we agreed to support them. > > > > > > -- > > > Alexey Kuznetsov > > > > > > > > -- > Alexey Kuznetsov -- Best Regards, Vyacheslav D. |
Vyacheslav,
Thanks for detailed explanation. As far as I see, we CAN support services on deactivated cluster, but it does not seems a good idea from end user perspective. I'm thinking that in my case (sending telemetry from cluster) I will go another way. -- Alexey Kuznetsov |
Alexey,
Have a look at the 'PluginProvider' interface, if you implemented a telemetry service as a plugin: * plugin may be placed in the 'web-console' module; * plugin is initialized at node startup and is stopped at node shutdown; * plugin have access to all Ignite's internals through context; * listening of discovery topologies events allows you implementing some kind of cluster singleton, to be able to deploy telemetry-service in case previous one failed. On Mon, Dec 10, 2018 at 6:28 AM Alexey Kuznetsov <[hidden email]> wrote: > > Vyacheslav, > > Thanks for detailed explanation. > > As far as I see, we CAN support services on deactivated cluster, but it > does not seems a good idea from end user perspective. > > I'm thinking that in my case (sending telemetry from cluster) I will go > another way. > > -- > Alexey Kuznetsov -- Best Regards, Vyacheslav D. |
Free forum by Nabble | Edit this page |