[
https://issues.apache.org/jira/browse/IGNITE-8134?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16442454#comment-16442454
]
ASF GitHub Bot commented on IGNITE-8134:
----------------------------------------
GitHub user dmekhanikov opened a pull request:
https://github.com/apache/ignite/pull/3863
IGNITE-8134 fix service deployment from nodes outside of BLT
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gridgain/apache-ignite ignite-8134
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/ignite/pull/3863.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3863
----
commit a293129885eede98b282471c681b7a45e14968b7
Author: Denis Mekhanikov <dmekhanikov@...>
Date: 2018-04-18T11:52:10Z
IGNITE-8134 subscribe to system cache events on nodes outside BLT
commit 2f5c9fdf6ab283047d400a3fc38254ac6253882e
Author: Denis Mekhanikov <dmekhanikov@...>
Date: 2018-04-18T12:53:47Z
IGNITE-8134 add tests for service deployment from outside baseline
----
> Services can't be deployed on servers outside of baseline topology
> ------------------------------------------------------------------
>
> Key: IGNITE-8134
> URL: https://issues.apache.org/jira/browse/IGNITE-8134
> Project: Ignite
> Issue Type: Bug
> Components: managed services, persistence
> Reporter: Stanislav Lukyanov
> Assignee: Denis Mekhanikov
> Priority: Major
> Fix For: 2.6
>
>
> If a node is not a part of the baseline topology, the services will never be
> deployed on it. In particular, if that node calls a synchronous deploy*
> method, the method will hang.
> After the node is added to the baseline, all previously initiated
> deployments succeed (and deploy* methods return).
> It seems that the issue is with the continuous query started by the
> GridServiceProcessor on the ignite-sys-cache.
> Example:
> =====================
> {code}
> public class BltServicesBug {
> public static void main(String[] args) {
> // start one node
> IgniteConfiguration cfg1 = new IgniteConfiguration()
> .setIgniteInstanceName("node1")
> .setDataStorageConfiguration(
> new DataStorageConfiguration()
> .setDefaultDataRegionConfiguration(
> new DataRegionConfiguration()
> .setPersistenceEnabled(true)
> )
> );
> try (Ignite ignite1 = Ignition.start(cfg1)) {
> // activate and set baseline topology
> ignite1.cluster().active(true);
> // start another node
> IgniteConfiguration cfg2 = new IgniteConfiguration(cfg1)
> .setIgniteInstanceName("node2");
> try (Ignite ignite2 = Ignition.start(cfg2)) {
> // try to deploy a service;
> // this call hangs until the second node is added to the BLT
> (e.g. externally via control.sh)
> ignite2.services().deployNodeSingleton("myService", new
> MyServiceImpl()); System.out.println(">>>>> Deployed"); }
> }
> }
> private static class MyServiceImpl implements Service {
> @Override public void cancel(ServiceContext ctx) { }
> @Override public void init(ServiceContext ctx) { }
> @Override public void execute(ServiceContext ctx) { }
> }
> }
> }
> {code}
> =====================
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)