ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dmitriy Setrakyan (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-8134) Services can't be deployed on servers outside of baseline topology
Date Wed, 04 Apr 2018 14:59:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-8134?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dmitriy Setrakyan updated IGNITE-8134:
--------------------------------------
    Description: 
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:java}
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}




=====================

  was:
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:
=====================
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) { }
    }
}
=====================


> 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: Stanislav Lukyanov
>            Priority: Major
>             Fix For: 2.5
>
>
> 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:java}
> 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)

Mime
View raw message