Calling ignite.getOrCreateCache(cacheConfig) results in the thread getting
blocked. I've noticed this does not happen when the cacheStore does not use
spring resources. Ignite is being started with IgniteSpring.start(config,
ctx).

The are no other server errors.

I've provided the code and the error below.

[2021-05-27 12:11:15.381] - 5368 SEVERE
[tcp-disco-msg-worker-[crd]-#2%SERVER-NAME%-#42%SERVER-NAME%] ---
org.apache.ignite.internal.util.typedef.G: Blocked system-critical thread
has been detected. This can lead to cluster-wide undefined behaviour
[workerName=partition-exchanger,
threadName=exchange-worker-#46%SERVER-NAME%, blockedFor=1288s]
[2021-05-27 12:11:15.381] - 5368 WARNING
[tcp-disco-msg-worker-[crd]-#2%SERVER-NAME%-#42%SERVER-NAME%] ---
org.apache.ignite.internal.util.typedef.G: Thread
[name="exchange-worker-#46%SERVER-NAME%", id=87, state=BLOCKED, blockCnt=1,
waitCnt=4]
    Lock [object=java.util.concurrent.ConcurrentHashMap@307677e2,
ownerName=main, ownerId=1]

[2021-05-27 12:11:15.382] - 5368 WARNING
[tcp-disco-msg-worker-[crd]-#2%SERVER-NAME%-#42%SERVER-NAME%] --- : Possible
failure suppressed accordingly to a configured handler
[hnd=NoOpFailureHandler [super=AbstractFailureHandler
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext
[type=SYSTEM_WORKER_BLOCKED, err=class o.a.i.IgniteException: GridWorker
[name=partition-exchanger, igniteInstanceName=SERVER-NAME, finished=false,
heartbeatTs=1622112586746]]]
class org.apache.ignite.IgniteException: GridWorker
[name=partition-exchanger, igniteInstanceName=SERVER-NAME, finished=false,
heartbeatTs=1622112586746]
        at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$3.apply(IgnitionEx.java:1806)
        at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$3.apply(IgnitionEx.java:1801)
        at
org.apache.ignite.internal.worker.WorkersRegistry.onIdle(WorkersRegistry.java:234)
        at
org.apache.ignite.internal.util.worker.GridWorker.onIdle(GridWorker.java:297)
        at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.lambda$new$1(ServerImpl.java:2970)
        at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:8057)
        at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:3086)
        at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7995)
        at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:58)

[2021-05-27 12:11:15.382] - 5368 WARNING
[tcp-disco-msg-worker-[crd]-#2%SERVER-NAME%-#42%SERVER-NAME%] ---
org.apache.ignite.internal.processors.cache.CacheDiagnosticManager: Page
locks dump:

Thread=[name=exchange-worker-#46%SERVER-NAME%, id=87], state=BLOCKED
Locked pages = []
Locked pages log: name=exchange-worker-#46%SERVER-NAME% time=(1622113875382,
2021-05-27 12:11:15.382)


 @Bean
    public CacheConfiguration cacheConfig() {
        CacheConfiguration cacheCfg = new CacheConfiguration("cache-name");
        cacheCfg.setCacheMode(CacheMode.REPLICATED);
        cacheCfg.setReadThrough(true);
        cacheCfg.setCacheStoreFactory(
                new FactoryBuilder.SingletonFactory<>(new
TestCacheStore()));
        return cacheCfg;
    }


public class TestCacheStore extends CacheStoreAdapter<Integer, CacheObject>
        implements Serializable {

    private static final Logger log = getLogger(TestCacheStore .class);

    @SpringResource(resourceName = "serverConfig")
    private transient ServerConfig serverConfig;

    public TestCacheStore () {
        log.info("test");
    }



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to