Greetings,

I have a Spring Boot app which contains embedded Ignite server node and acts like "a single node cluster". Persistence is enabled. The embedded server node is activated on ContextRefresh event. Sometimes the app starts in seconds (6 to 9 seconds), other times it hangs for 10 minutes waiting for node activation to finish. The app is the only Ignite node on the network. Is the 10 minute long activation normal or could it be faster after some tweaking?

This is what I see in the log when stuck:

[ INFO] [15.12.2017 13:05:36.589] [] [xchange-worker-#42] [ridDhtPartitionsExchangeFuture]: Finished waiting for partition release future [topVer=AffinityTopologyVersion [topVer=1, minorTopVer=1], waitTime=0ms, futInfo=NA] [ INFO] [15.12.2017 13:06:38.462] [] [ate-notifier-timer] [o.a.i.i.p.c.GridUpdateNotifier]: Update status is not available. [ INFO] [15.12.2017 13:14:18.818] [] [xchange-worker-#42] [GridCacheDatabaseSharedManager]: Read checkpoint status [startMarker=/tmp/ignite/work/myapp/persistent_store/node00-68e9e45a-3193-49f2-8f8b-93dfa5b08a6a/cp/1513339132540-b562bb70-f708-441a-9dab-48cce4f4ea17-START.bin, endMarker=/tmp/ignite/work/myapp/persistent_store/node00-68e9e45a-3193-49f2-8f8b-93dfa5b08a6a/cp/1513339132540-b562bb70-f708-441a-9dab-48cce4f4ea17-END.bin] [ INFO] [15.12.2017 13:14:18.818] [] [xchange-worker-#42] [GridCacheDatabaseSharedManager]: Applying lost cache updates since last checkpoint record

Main thread booting the app is suspended and waiting for activation to finish:

"main" - Thread t@1
   java.lang.Thread.State: WAITING
        at sun.misc.Unsafe.park(Native Method)
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:177) at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:140) at org.apache.ignite.internal.IgniteKernal.active(IgniteKernal.java:3510)
        at my.ignite.IgniteActivator.start(IgniteActivator.java:40)
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:175) at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:50) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:348) at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:151) at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:114) at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:880) at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:546)
        - locked <35a3518d> (a java.lang.Object)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
        at my.MyApplication.main(MyApplication.java:25)

Could somebody give me any pointers as to why this is happening and what may be wrong with my configuration?

Thank you!

Kamil

Reply via email to