ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Denis Mekhanikov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-4939) Receive event before cache initialized
Date Wed, 08 Nov 2017 09:58:00 GMT

    [ 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)

Mime
View raw message