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/

Reply via email to