Hi! I'm currently working on a school project involving a distributed Apache Ignite DB on a cluster of Raspberry Pi. I want to have 2 separate data regions including one with persistence enabled. Here is my custom config :
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean class="org.apache.ignite.configuration.IgniteConfiguration" id="ignite.cfg"> <property name="dataStorageConfiguration"> <bean class="org.apache.ignite.configuration.DataStorageConfiguration"> <property name="defaultDataRegionConfiguration"> <bean class="org.apache.ignite.configuration.DataRegionConfiguration"> <property name="name" value="default_region"/> <property name="maxSize" value="#{50 * 1024 * 1024}"/> <property name="pageEvictionMode" value="RANDOM_LRU"/> <property name="evictionThreshold" value="0.9"/> </bean> </property> <property name="dataRegionConfigurations"> <list> <bean class="org.apache.ignite.configuration.DataRegionConfiguration"> <property name="name" value="persistence_region"/> <property name="maxSize" value="#{100 * 1024 * 1024}"/> <property name="persistenceEnabled" value="true"/> </bean> </list> </property> </bean> </property> <property name="authenticationEnabled" value="true"/> <property name="discoverySpi"> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> <property name="ipFinder"> <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"> <property name="multicastGroup" value="228.10.10.157"/> </bean> </property> </bean> </property> </bean> So I've been trying to build my own Docker image to make it run. I've used the official image and just changed the base image to use OpenJDK Alpine arm32v7 and I lowered the JVM heap size to 512Mb. My problem starts here: when I'm using the a basic config without authentication and persistence everything seems to work fine but when I use my config with persistence I have some weird issues with activation and it's impossible to reach the cluster... For example sometimes when I try to activate the cluster I have this issue (I typed the right password I promise) : ./control.sh --activate user: ignite password: Control utility [ver. 2.8.1#20200521-sha1:86422096] 2020 Copyright(C) Apache Software Foundation User: root Time: 2021-01-23T15:59:10.789 Command [ACTIVATE] started Arguments: --activate -------------------------------------------------------------------------------- Failed to activate cluster. This cluster requires authentication. Command [ACTIVATE] started Arguments: --activate -------------------------------------------------------------------------------- Failed to activate cluster. Connection to cluster failed. Latest topology update failed. Command [ACTIVATE] finished with code: 2 Control utility has completed execution at: 2021-01-23T16:00:19.968 Execution time: 69179 ms And then Apache send me some weird stuff : [16:05:22,842][SEVERE][rest-#109][GridTcpRestProtocol] Failed to process client request [ses=GridSelectorNioSessionImpl [worker=ByteBufferNioClientWorker [readBuf=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192], super=AbstractNioClientWorker [idx=1, bytesRcvd=0, bytesSent=0, bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker [name=grid-nio-worker-tcp-rest-1, igniteInstanceName=null, finished=false, heartbeatTs=1611417921389, hashCode=4009713, interrupted=false, runner=grid-nio-worker-tcp-rest-1-#36]]], writeBuf=null, readBuf=null, inRecovery=null, outRecovery=null, closeSocket=true, outboundMessagesQueueSizeMetric=null, super=GridNioSessionImpl [locAddr=/127.0.0.1:11211, rmtAddr=/127.0.0.1:33872, createTime=1611417824153, closeTime=1611417905352, bytesSent=633, bytesRcvd=519, bytesSent0=5, bytesRcvd0=5, sndSchedTime=1611417922803, lastSndTime=1611417901655, lastRcvTime=1611417901655, readsPaused=false, filterChain=FilterChain[filters=[GridNioCodecFilter [parser=GridTcpRestParser [marsh=JdkMarshaller [clsFilter=o.a.i.marshaller.MarshallerUtils$1@1864f0b], routerClient=false], directMode=false]], accepted=true, markedForClose=false]], msg=GridClientAuthenticationRequest [super=GridClientAbstractMessage [reqId=3, id=227a26f2-3ada-4be3-8150-5879fdfb48c1, destId=null, super=o.a.i.i.processors.rest.client.message.GridClientAuthenticationRequest@177bade]]] class org.apache.ignite.IgniteCheckedException: Failed to send message (connection was closed): GridSelectorNioSessionImpl [worker=ByteBufferNioClientWorker [readBuf=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192], super=AbstractNioClientWorker [idx=1, bytesRcvd=0, bytesSent=0, bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker [name=grid-nio-worker-tcp-rest-1, igniteInstanceName=null, finished=false, heartbeatTs=1611417921389, hashCode=4009713, interrupted=false, runner=grid-nio-worker-tcp-rest-1-#36]]], writeBuf=null, readBuf=null, inRecovery=null, outRecovery=null, closeSocket=true, outboundMessagesQueueSizeMetric=null, super=GridNioSessionImpl [locAddr=/127.0.0.1:11211, rmtAddr=/127.0.0.1:33872, createTime=1611417824153, closeTime=1611417905352, bytesSent=633, bytesRcvd=519, bytesSent0=5, bytesRcvd0=5, sndSchedTime=1611417922803, lastSndTime=1611417901655, lastRcvTime=1611417901655, readsPaused=false, filterChain=FilterChain[filters=[GridNioCodecFilter [parser=GridTcpRestParser [marsh=JdkMarshaller [clsFilter=org.apache.ignite.marshaller.MarshallerUtils$1@1864f0b], routerClient=false], directMode=false]], accepted=true, markedForClose=false]] at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7507) at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:260) at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:172) at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:141) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1$1.apply(GridTcpRestNioListener.java:277) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1$1.apply(GridTcpRestNioListener.java:274) at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:399) at org.apache.ignite.internal.util.future.GridFutureAdapter.listen(GridFutureAdapter.java:354) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1.apply(GridTcpRestNioListener.java:274) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1.apply(GridTcpRestNioListener.java:242) at org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java:399) at org.apache.ignite.internal.util.future.GridFutureAdapter.unblock(GridFutureAdapter.java:347) at org.apache.ignite.internal.util.future.GridFutureAdapter.unblockAll(GridFutureAdapter.java:335) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:511) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:490) at org.apache.ignite.internal.util.future.GridFutureAdapter.onDone(GridFutureAdapter.java:467) at org.apache.ignite.internal.processors.rest.GridRestProcessor$2$1.apply(GridRestProcessor.java:184) at org.apache.ignite.internal.processors.rest.GridRestProcessor$2$1.apply(GridRestProcessor.java:181) at org.apache.ignite.internal.util.future.GridFinishedFuture.listen(GridFinishedFuture.java:124) at org.apache.ignite.internal.processors.rest.GridRestProcessor$2.body(GridRestProcessor.java:181) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: Failed to send message (connection was closed): GridSelectorNioSessionImpl [worker=ByteBufferNioClientWorker [readBuf=java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192], super=AbstractNioClientWorker [idx=1, bytesRcvd=0, bytesSent=0, bytesRcvd0=0, bytesSent0=0, select=true, super=GridWorker [name=grid-nio-worker-tcp-rest-1, igniteInstanceName=null, finished=false, heartbeatTs=1611417921389, hashCode=4009713, interrupted=false, runner=grid-nio-worker-tcp-rest-1-#36]]], writeBuf=null, readBuf=null, inRecovery=null, outRecovery=null, closeSocket=true, outboundMessagesQueueSizeMetric=null, super=GridNioSessionImpl [locAddr=/127.0.0.1:11211, rmtAddr=/127.0.0.1:33872, createTime=1611417824153, closeTime=1611417905352, bytesSent=633, bytesRcvd=519, bytesSent0=5, bytesRcvd0=5, sndSchedTime=1611417922803, lastSndTime=1611417901655, lastRcvTime=1611417901655, readsPaused=false, filterChain=FilterChain[filters=[GridNioCodecFilter [parser=GridTcpRestParser [marsh=JdkMarshaller [clsFilter=org.apache.ignite.marshaller.MarshallerUtils$1@1864f0b], routerClient=false], directMode=false]], accepted=true, markedForClose=false]] at org.apache.ignite.internal.util.nio.GridNioServer.send0(GridNioServer.java:638) at org.apache.ignite.internal.util.nio.GridNioServer.send(GridNioServer.java:579) at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onSessionWrite(GridNioServer.java:3635) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedSessionWrite(GridNioFilterAdapter.java:121) at org.apache.ignite.internal.util.nio.GridNioCodecFilter.onSessionWrite(GridNioCodecFilter.java:96) at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedSessionWrite(GridNioFilterAdapter.java:121) at org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onSessionWrite(GridNioFilterChain.java:269) at org.apache.ignite.internal.util.nio.GridNioFilterChain.onSessionWrite(GridNioFilterChain.java:192) at org.apache.ignite.internal.util.nio.GridNioSessionImpl.send(GridNioSessionImpl.java:113) at org.apache.ignite.internal.processors.rest.protocols.tcp.GridTcpRestNioListener$1.apply(GridTcpRestNioListener.java:271) ... 15 more I have already tried to work around it in this post : Stack Overflow Post <https://stackoverflow.com/questions/65217441/apache-ignite-on-raspberry-pi-3/65304686#65304686> But I have the same problem with Stephen Darlington's image when I try to use persistence... Best regards, Gaƫtan -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/