You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Andrey Gura (JIRA)" <ji...@apache.org> on 2015/12/04 12:18:11 UTC

[jira] [Created] (IGNITE-2086) Ignite should not start with reusable SPI

Andrey Gura created IGNITE-2086:
-----------------------------------

             Summary: Ignite should not start with reusable SPI
                 Key: IGNITE-2086
                 URL: https://issues.apache.org/jira/browse/IGNITE-2086
             Project: Ignite
          Issue Type: Bug
            Reporter: Andrey Gura
            Assignee: Andrey Gura


The following code snippet leads to NPE in {{GridContinuousProcessor}}:

{noformat}
         IgniteConfiguration cfg = new IgniteConfiguration();

            TcpDiscoverySpi spi = new TcpDiscoverySpi();

            TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
            ipFinder.setAddresses(Arrays.asList("localhost"));
            spi.setIpFinder(ipFinder);

            cfg.setDiscoverySpi(spi);

            Ignite ignite = Ignition.start(cfg);

            ignite.close();

            Ignition.start(cfg);
{noformat}

Stack trace:

{noformat}
[14:16:27,616][ERROR][tcp-disco-msg-worker-#5%null][GridDiscoveryManager] Failed to notify direct custom event listener: StartRoutineDiscoveryMessage [startReqData=StartRequestData [prjPred=o.a.i.i.util.lang.GridFunc$37@6177dfad, clsName=null, depInfo=null, hnd=CacheContinuousQueryHandler [cacheName=ignite-sys-cache, rmtFilter=null, rmtFilterDep=null, internal=true, notifyExisting=true, oldValRequired=true, sync=false, ignoreExpired=true, taskHash=0, skipPrimaryCheck=true, locCache=false, keepBinary=false, ackBuf=null, cacheId=-2100569601], bufSize=1, interval=0, autoUnsubscribe=true], keepBinary=false, routineId=88468813-4cd7-481d-baa3-9541c3ffc2e0]
java.lang.NullPointerException
	at org.apache.ignite.internal.util.lang.GridFunc$37.apply(GridFunc.java:1209)
	at org.apache.ignite.internal.util.lang.GridFunc$37.apply(GridFunc.java:1204)
	at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processStartRequest(GridContinuousProcessor.java:883)
	at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$900(GridContinuousProcessor.java:91)
	at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$3.onCustomEvent(GridContinuousProcessor.java:199)
	at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$3.onCustomEvent(GridContinuousProcessor.java:194)
	at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery(GridDiscoveryManager.java:516)
	at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:4732)
	at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:4591)
	at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2275)
	at org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:5783)
	at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2160)
	at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
{noformat}

This code should throw {{IllegalStateException}} for such cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)