[ 
https://issues.apache.org/jira/browse/IGNITE-4939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16243634#comment-16243634
 ] 

Denis Mekhanikov commented on IGNITE-4939:
------------------------------------------

Here is a reproducer for Ignite 2.3:
{code}
public class CacheNotConfiguredExample {

    TcpDiscoveryIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);

    public static void main(String[] args) {
        new CacheNotConfiguredExample().doMain();
    }

    void doMain() {
        new Thread(this::startServer).start();
        new Thread(this::startClient).start();
    }

    Ignite startClient() {
        IgniteConfiguration igniteCfg = igniteConfiguration();
        igniteCfg.setIgniteInstanceName("Client Node");
        igniteCfg.setClientMode(true);

        return Ignition.start(igniteCfg);
    }

    Ignite startServer() {
        IgniteConfiguration igniteCfg = igniteConfiguration();
        igniteCfg.setIgniteInstanceName("Server Node");
        igniteCfg.setServiceConfiguration(serviceConfiguration());
        igniteCfg.setClientMode(false);

        return Ignition.start(igniteCfg);
    }

    IgniteConfiguration igniteConfiguration() {
        IgniteConfiguration cfg = new IgniteConfiguration();

        TcpDiscoverySpi spi = new TcpDiscoverySpi();
        spi.setIpFinder(ipFinder);
        cfg.setDiscoverySpi(spi);

        return cfg;
    }

    ServiceConfiguration serviceConfiguration() {
        ServiceConfiguration svcCfg = new ServiceConfiguration();
        svcCfg.setName("service");
        svcCfg.setTotalCount(1);
        svcCfg.setService(new SimpleMapServiceImpl<Integer, String>());
        return svcCfg;
    }
}
{code}

There is a race, so the exception may appear not every time.

> Receive event before cache initialized
> --------------------------------------
>
>                 Key: IGNITE-4939
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4939
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.9
>            Reporter: Nikolay Tikhonov
>            Assignee: Evgenii Zhuravlev
>             Fix For: 2.1
>
>
> Receive event before cache initialized that leads to the following:
> {noformat}
> Exception in thread "sys-#755%Default%" java.lang.IllegalArgumentException: 
> Cache is not configured: ignite-sys-cache
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.jcache(GridCacheProcessor.java:3343)
>       at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.handleEvent(CacheContinuousQueryHandler.java:719)
>       at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.notifyCallback0(CacheContinuousQueryHandler.java:691)
>       at 
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.notifyCallback(CacheContinuousQueryHandler.java:650)
>       at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processNotification(GridContinuousProcessor.java:1086)
>       at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$2000(GridContinuousProcessor.java:97)
>       at 
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$8.onMessage(GridContinuousProcessor.java:741)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1082)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:102)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2332)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1042)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1900(GridIoManager.java:102)
>       at 
> org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:1011)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to