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

Andrey Gura updated IGNITE-2086:
--------------------------------
    Description: 
The following code snippet leads to NPE in {{GridContinuousProcessor}}:

{code:java}
    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);
{code}

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.

  was:
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.


> 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}}:
> {code:java}
>     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);
> {code}
> 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)

Reply via email to