You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by szj <sz...@juraszczyk.com> on 2018/06/05 20:39:05 UTC
Ignite 2.5 nodes do not rejoin the cluster after restart
Hi
I'm completely new to Ignite. I installed Ignite 2.5 and created a simple
3-node cluster (tried with 2 nodes too). I set a custom ConsistentID for
each node (same as the hostname). I also enabled *persistence* (does it
matter?). The cluster looks active and contains all 3 nodes. I print the
baseline and get:
Cluster state: active
Current topology version: 39
Baseline nodes:
ConsistentID=hostname1, STATE=ONLINE
ConsistentID=hostname2, STATE=ONLINE
ConsistentID=hostname3, STATE=ONLINE
Using sqlline.sh I created an SQL table there WITH "template=replicated". I
added a simple row to the table. Using ignitevisorcmd.sh I can see that the
row I added is in the cache of each node (cache -scan
-c=SQL_PUBLIC_tablename -id8=nodeid) so it does replicate as expected.
Now on any node I run ignitevisorcmd.sh -e="'open;kill -r -al'" which
triggers the restart of the local node. I also tried kill -k and then manual
startup. I cannot use systemctl because the system does not have systemd
(don't ask why...). This shouldn't be relevant though, right? Systemd would
just kill the process tree. Anyway, to my amazement the node refuses to
rejoin with:
[22:14:50,844][SEVERE][tcp-disco-msg-worker-#2][TcpDiscoverySpi]
TcpDiscoverSpi's message worker thread failed abnormally. Stopping the node
in order to prevent cluster wide instability.
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
... big stack trace cut ...
I tried to google the whole Internet to no avail. The doc at
https://apacheignite.readme.io/docs/baseline-topology#section-usage-scenarios
clearly states:
/Node Restart
Scenario: a node needs to be restarted. The downtime will be short.
Steps:
Stop the node.
Start the node again. After that:
No baseline topology-related changes are required. The node preserves its
consistentId after the restart. So the cluster and the baseline topology
just takes the node back.
If during the node's downtime some data was updated, the data from modified
partitions will be copied to the restarted node from the others.
/
This obviously doesn't happen in my case. The only way I can start any node
again is removing it with control.sh --baseline remove
consistentIDofThatHost on another node (the host is OFFLINE in the
baseline). After this the node starts and I need to add it back to the
baseline.
What am I doing wrong? I can't be THAT dumb or can I? What is a "mixed
cluster running in compatibility mode" anyway?
If that matters, my config is practically default, with only consistentId
set on each node and persistenceEnabled:
<property name="consistentId" value="hostnameX"/>
<property name="dataStorageConfiguration">
<bean
class="org.apache.ignite.configuration.DataStorageConfiguration">
<property name="defaultDataRegionConfiguration">
<bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="persistenceEnabled" value="true"/>
</bean>
</property>
</bean>
</property>
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
RE: Ignite 2.5 nodes do not rejoin the cluster after restart
(workson 2.4)
Posted by Stanislav Lukyanov <st...@gmail.com>.
Hi,
Yep, that’s a bug. Daemon nodes (like the ones ignitevisorcmd starts) seem to break baseline topology processing.
Filed https://issues.apache.org/jira/browse/IGNITE-8774.
Stan
From: szj
Sent: 9 июня 2018 г. 1:27
To: user@ignite.apache.org
Subject: Re: Ignite 2.5 nodes do not rejoin the cluster after restart (workson 2.4)
No, I definitely started with 2.5. I only took the trouble to try it later
with 2.4 to see that this problem did not exist there. 2.4 works fine in the
very same scenario.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by szj <sz...@juraszczyk.com>.
No, I definitely started with 2.5. I only took the trouble to try it later
with 2.4 to see that this problem did not exist there. 2.4 works fine in the
very same scenario.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by Eduard Shangareev <ed...@gmail.com>.
Hi, szj.
Could it be that you run 2 different version of Ignite? You have mentioned
that you used 2.4.
Ignite nodes should be the same version.
On Thu, Jun 7, 2018 at 8:36 PM, szj <sz...@juraszczyk.com> wrote:
> Hi
>
> I'm afraid I wiped Ignite off my servers already as this behaviour was a
> blocker to me. I only needed a key value store able to replicate across
> several datacenters across the globe (my use case involves very few writes)
> and I'm now evaluating another product already.
>
> I strongly suggest you try to reproduce it with the exact steps I listed in
> this thread if you didn't try it already. It's dead simple to me - there
> are
> 2 nodes running, both in the baseline, you connect ignitevisorcmd.sh then
> shut down one node. Nothing else starts nor stops in the meantime, you just
> try to start up the shut down node again. In my tests it was 100% clear
> that
> ignitevisorcmd.sh being connected was the culprit of the 2.5 cluster being
> confused. It did not happen in 2.4.
>
> Good luck :-)
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by szj <sz...@juraszczyk.com>.
Hi
I'm afraid I wiped Ignite off my servers already as this behaviour was a
blocker to me. I only needed a key value store able to replicate across
several datacenters across the globe (my use case involves very few writes)
and I'm now evaluating another product already.
I strongly suggest you try to reproduce it with the exact steps I listed in
this thread if you didn't try it already. It's dead simple to me - there are
2 nodes running, both in the baseline, you connect ignitevisorcmd.sh then
shut down one node. Nothing else starts nor stops in the meantime, you just
try to start up the shut down node again. In my tests it was 100% clear that
ignitevisorcmd.sh being connected was the culprit of the 2.5 cluster being
confused. It did not happen in 2.4.
Good luck :-)
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by Andrey Mashenkov <an...@gmail.com>.
Hi,
What baseline topology does ./control.sh prints?
Is it possible, a node that out of baseline has started before baseline
node starts?
On Thu, Jun 7, 2018 at 9:54 AM, szj <sz...@juraszczyk.com> wrote:
> Well, it definitely does work in 2.4. Please notice that there needs to be
> ignitevisorcmd.sh involved to trigger this bug (I didn't try with other
> clients though). Here's what is printed by Java on the console:
>
> [09:28:33]
> [09:28:33] To start Console Management & Monitoring run
> ignitevisorcmd.{sh|bat}
> [09:28:33]
> [09:28:33] Ignite node started OK (id=ae8697ad)
> [09:28:33] Topology snapshot [ver=33, servers=2, clients=0, CPUs=4,
> offheap=2.1GB, heap=2.0GB]
> [09:28:33] ^-- Node [id=AE8697AD-6421-4C0C-96FE-FC29ED9B6DCA,
> clusterState=ACTIVE]
> [09:28:33] ^-- Baseline [id=7, size=2, online=2, offline=0]
> [09:28:33] Data Regions Configured:
> [09:28:33] ^-- default [initSize=256.0 MiB, maxSize=1.4 GiB,
> persistenceEnabled=true]
> [09:29:25] Ignite node stopped OK [uptime=00:00:51.837]
> [09:29:35] __________ ________________
> [09:29:35] / _/ ___/ |/ / _/_ __/ __/
> [09:29:35] _/ // (7 7 // / / / / _/
> [09:29:35] /___/\___/_/|_/___/ /_/ /___/
> [09:29:35]
> [09:29:35] ver. 2.5.0#20180523-sha1:86e110c7
> [09:29:35] 2018 Copyright(C) Apache Software Foundation
> [09:29:35]
> [09:29:35] Ignite documentation: http://ignite.apache.org
> [09:29:35]
> [09:29:35] Quiet mode.
> [09:29:35] ^-- Logging to file
> '/usr/share/apache-ignite/work/log/ignite-d484e6c6.0.log'
> [09:29:35] ^-- Logging by 'JavaLogger [quiet=true, config=null]'
> [09:29:35] ^-- To see **FULL** console log here add -DIGNITE_QUIET=false
> or "-v" to ignite.{sh|bat}
> [09:29:35]
> [09:29:35] OS: Linux 2.6.32-696.18.7.el6.x86_64 amd64
> [09:29:35] VM information: OpenJDK Runtime Environment 1.8.0_121-b13 Oracle
> Corporation OpenJDK 64-Bit Server VM 25.121-b13
> [09:29:35] Configured plugins:
> [09:29:35] ^-- None
> [09:29:35]
> [09:29:35] Configured failure handler: [hnd=StopNodeOrHaltFailureHandler
> [tryStop=false, timeout=0]]
> [09:29:35] Message queue limit is set to 0 which may lead to potential
> OOMEs
> when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to
> message queues growth on sender and receiver sides.
> [09:29:35] Security status [authentication=off, tls/ssl=off]
> [09:29:36,435][SEVERE][tcp-disco-msg-worker-#2][TcpDiscoverySpi]
> TcpDiscoverSpi's message worker thread failed abnormally. Stopping the node
> in order to prevent cluster wide instability.
> class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
> join mixed cluster running in compatibility mode
> at
> org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.
> onGridDataReceived(GridClusterStateProcessor.java:714)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.
> onExchange(GridDiscoveryManager.java:883)
> at
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.
> onExchange(TcpDiscoverySpi.java:1939)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processNodeAddedMessage(ServerImpl.java:4354)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2744)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2536)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(
> ServerImpl.java:6775)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(
> ServerImpl.java:2621)
> at
> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> [09:29:36,437][SEVERE][tcp-disco-msg-worker-#2][] Critical system error
> detected. Will be handled accordingly to configured handler [hnd=class
> o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node
> with
> BaselineTopology cannot join mixed cluster running in compatibility mode]]
> class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
> join mixed cluster running in compatibility mode
> at
> org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.
> onGridDataReceived(GridClusterStateProcessor.java:714)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.
> onExchange(GridDiscoveryManager.java:883)
> at
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.
> onExchange(TcpDiscoverySpi.java:1939)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processNodeAddedMessage(ServerImpl.java:4354)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2744)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2536)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(
> ServerImpl.java:6775)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(
> ServerImpl.java:2621)
> at
> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> [09:29:36,438][SEVERE][tcp-disco-msg-worker-#2][] JVM will be halted
> immediately due to the failure: [failureCtx=FailureContext
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node
> with
> BaselineTopology cannot join mixed cluster running in compatibility mode]]
>
>
> And here's the log from the log folder (hostnames/IP addresses anonymised).
> Apparently the exception is thrown when the other node connects to the one
> that is starting (which happens pretty quickly during the startup):
>
> 09:29:35,205][INFO][main][IgniteKernal]
>
> >>> __________ ________________
> >>> / _/ ___/ |/ / _/_ __/ __/
> >>> _/ // (7 7 // / / / / _/
> >>> /___/\___/_/|_/___/ /_/ /___/
> >>>
> >>> ver. 2.5.0#20180523-sha1:86e110c7
> >>> 2018 Copyright(C) Apache Software Foundation
> >>>
> >>> Ignite documentation: http://ignite.apache.org
>
> [09:29:35,217][INFO][main][IgniteKernal] Config URL:
> file:/etc/apache-ignite/saltstack.xml
> [09:29:35,244][INFO][main][IgniteKernal] IgniteConfiguration
> [igniteInstanceName=null, pubPoolSize=8, svcPoolSize=8, callbackPoolSize=8,
> stripedPoolSize=8, sysPoolSize=8, mgmtPoolSize=4, igfsPoolSize=2,
> dataStreamerPoolSize=8, utilityCachePoolSize=8,
> utilityCacheKeepAliveTime=60000, p2pPoolSize=2, qryPoolSize=8,
> igniteHome=/usr/share/apache-ignite,
> igniteWorkDir=/usr/share/apache-ignite/work,
> mbeanSrv=com.sun.jmx.mbeanserver.JmxMBeanServer@6f94fa3e,
> nodeId=d484e6c6-5d54-4d13-8704-6b2cea991cde,
> marsh=org.apache.ignite.internal.binary.BinaryMarshaller@7fa98a66,
> marshLocJobs=false, daemon=false, p2pEnabled=false, netTimeout=5000,
> sndRetryDelay=1000, sndRetryCnt=3, metricsHistSize=10000,
> metricsUpdateFreq=2000, metricsExpTime=9223372036854775807,
> discoSpi=TcpDiscoverySpi [addrRslvr=null, sockTimeout=0, ackTimeout=0,
> marsh=null, reconCnt=10, reconDelay=2000, maxAckTimeout=600000,
> forceSrvMode=false, clientReconnectDisabled=false, internalLsnr=null],
> segPlc=STOP, segResolveAttempts=2, waitForSegOnStart=true,
> allResolversPassReq=true, segChkFreq=10000, commSpi=TcpCommunicationSpi
> [connectGate=null, connPlc=null, enableForcibleNodeKill=false,
> enableTroubleshootingLog=false,
> srvLsnr=org.apache.ignite.spi.communication.tcp.
> TcpCommunicationSpi$2@661972b0,
> locAddr=null, locHost=null, locPort=47100, locPortRange=100, shmemPort=-1,
> directBuf=true, directSndBuf=false, idleConnTimeout=600000,
> connTimeout=5000, maxConnTimeout=600000, reconCnt=10, sockSndBuf=32768,
> sockRcvBuf=32768, msgQueueLimit=0, slowClientQueueLimit=0, nioSrvr=null,
> shmemSrv=null, usePairedConnections=false, connectionsPerNode=1,
> tcpNoDelay=true, filterReachableAddresses=false, ackSndThreshold=32,
> unackedMsgsBufSize=0, sockWriteTimeout=2000, lsnr=null, boundTcpPort=-1,
> boundTcpShmemPort=-1, selectorsCnt=4, selectorSpins=0, addrRslvr=null,
> ctxInitLatch=java.util.concurrent.CountDownLatch@5af3afd9[Count = 1],
> stopping=false,
> metricsLsnr=org.apache.ignite.spi.communication.tcp.
> TcpCommunicationMetricsListener@323b36e0],
> evtSpi=org.apache.ignite.spi.eventstorage.NoopEventStorageSpi@44ebcd03,
> colSpi=NoopCollisionSpi [], deploySpi=LocalDeploymentSpi [lsnr=null],
> indexingSpi=org.apache.ignite.spi.indexing.noop.NoopIndexingSpi@6356695f,
> addrRslvr=null, clientMode=false, rebalanceThreadPoolSize=1,
> txCfg=org.apache.ignite.configuration.TransactionConfiguration@4f18837a,
> cacheSanityCheckEnabled=true, discoStartupDelay=60000, deployMode=SHARED,
> p2pMissedCacheSize=100, locHost=null, timeSrvPortBase=31100,
> timeSrvPortRange=100, failureDetectionTimeout=10000,
> clientFailureDetectionTimeout=30000, metricsLogFreq=60000, hadoopCfg=null,
> connectorCfg=org.apache.ignite.configuration.ConnectorConfiguration@
> 359f7cdf,
> odbcCfg=null, warmupClos=null, atomicCfg=AtomicConfiguration
> [seqReserveSize=1000, cacheMode=PARTITIONED, backups=1, aff=null,
> grpName=null], classLdr=null, sslCtxFactory=null, platformCfg=null,
> binaryCfg=null, memCfg=null, pstCfg=null, dsCfg=DataStorageConfiguration
> [sysRegionInitSize=41943040, sysCacheMaxSize=104857600, pageSize=0,
> concLvl=0, dfltDataRegConf=DataRegionConfiguration [name=default,
> maxSize=1515879628, initSize=268435456, swapPath=null,
> pageEvictionMode=DISABLED, evictionThreshold=0.9, emptyPagesPoolSize=100,
> metricsEnabled=false, metricsSubIntervalCount=5,
> metricsRateTimeInterval=60000, persistenceEnabled=true,
> checkpointPageBufSize=0], storagePath=null, checkpointFreq=180000,
> lockWaitTime=10000, checkpointThreads=4, checkpointWriteOrder=SEQUENTIAL,
> walHistSize=20, walSegments=10, walSegmentSize=67108864, walPath=db/wal,
> walArchivePath=db/wal/archive, metricsEnabled=false, walMode=LOG_ONLY,
> walTlbSize=131072, walBuffSize=0, walFlushFreq=2000, walFsyncDelay=1000,
> walRecordIterBuffSize=67108864, alwaysWriteFullPages=false,
> fileIOFactory=org.apache.ignite.internal.processors.
> cache.persistence.file.AsyncFileIOFactory@4f6ee6e4,
> metricsSubIntervalCnt=5, metricsRateTimeInterval=60000,
> walAutoArchiveAfterInactivity=-1, writeThrottlingEnabled=false,
> walCompactionEnabled=false], activeOnStart=true, autoActivation=true,
> longQryWarnTimeout=3000, sqlConnCfg=null,
> cliConnCfg=ClientConnectorConfiguration [host=null, port=10800,
> portRange=100, sockSndBufSize=0, sockRcvBufSize=0, tcpNoDelay=true,
> maxOpenCursorsPerConn=128, threadPoolSize=8, idleTimeout=0,
> jdbcEnabled=true, odbcEnabled=true, thinCliEnabled=true, sslEnabled=false,
> useIgniteSslCtxFactory=true, sslClientAuth=false, sslCtxFactory=null],
> authEnabled=false, failureHnd=null, commFailureRslvr=null]
> [09:29:35,245][INFO][main][IgniteKernal] Daemon mode: off
> [09:29:35,246][INFO][main][IgniteKernal] OS: Linux
> 2.6.32-696.18.7.el6.x86_64 amd64
> [09:29:35,246][INFO][main][IgniteKernal] OS user: saltmndb
> [09:29:35,246][INFO][main][IgniteKernal] PID: 30531
> [09:29:35,247][INFO][main][IgniteKernal] Language runtime: Java Platform
> API
> Specification ver. 1.8
> [09:29:35,247][INFO][main][IgniteKernal] VM information: OpenJDK Runtime
> Environment 1.8.0_121-b13 Oracle Corporation OpenJDK 64-Bit Server VM
> 25.121-b13
> [09:29:35,249][INFO][main][IgniteKernal] VM total memory: 0.96GB
> [09:29:35,249][INFO][main][IgniteKernal] Remote Management [restart: on,
> REST: on, JMX (remote: on, port: 49171, auth: off, ssl: off)]
> [09:29:35,250][INFO][main][IgniteKernal] Logger: JavaLogger [quiet=true,
> config=null]
> [09:29:35,250][INFO][main][IgniteKernal]
> IGNITE_HOME=/usr/share/apache-ignite
> [09:29:35,250][INFO][main][IgniteKernal] VM arguments: [-Xms1g, -Xmx1g,
> -XX:+AggressiveOpts, -XX:MaxMetaspaceSize=256m, -DIGNITE_QUIET=true,
> -DIGNITE_SUCCESS_FILE=/usr/share/apache-ignite/work/
> ignite_success_bff20ab1-13bd-44a4-a70c-2ae8d90e8486,
> -Dcom.sun.management.jmxremote, -Dcom.sun.management.jmxremote.port=49171,
> -Dcom.sun.management.jmxremote.authenticate=false,
> -Dcom.sun.management.jmxremote.ssl=false,
> -DIGNITE_HOME=/usr/share/apache-ignite,
> -DIGNITE_PROG_NAME=/usr/share/apache-ignite/bin/ignite.sh]
> [09:29:35,250][INFO][main][IgniteKernal] System cache's DataRegion size is
> configured to 40 MB. Use DataStorageConfiguration.systemCacheMemorySize
> property to change the setting.
> [09:29:35,259][INFO][main][IgniteKernal] Configured caches [in 'sysMemPlc'
> dataRegion: ['ignite-sys-cache']]
> [09:29:35,276][INFO][main][IgniteKernal] 3-rd party licenses can be found
> at: /usr/share/apache-ignite/libs/licenses
> [09:29:35,353][INFO][main][IgnitePluginProcessor] Configured plugins:
> [09:29:35,353][INFO][main][IgnitePluginProcessor] ^-- None
> [09:29:35,354][INFO][main][IgnitePluginProcessor]
> [09:29:35,356][INFO][main][FailureProcessor] Configured failure handler:
> [hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0]]
> [09:29:35,418][INFO][main][TcpCommunicationSpi] Successfully bound
> communication NIO server to TCP port [port=47100, locHost=0.0.0.0/0.0.0.0,
> selectorsCnt=4, selectorSpins=0, pairedConn=false]
> [09:29:35,422][WARNING][main][TcpCommunicationSpi] Message queue limit is
> set to 0 which may lead to potential OOMEs when running cache operations in
> FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and
> receiver sides.
> [09:29:35,450][WARNING][main][NoopCheckpointSpi] Checkpoints are disabled
> (to enable configure any GridCheckpointSpi implementation)
> [09:29:35,477][WARNING][main][GridCollisionManager] Collision resolution
> is
> disabled (all jobs will be activated upon arrival).
> [09:29:35,478][INFO][main][IgniteKernal] Security status
> [authentication=off, tls/ssl=off]
> [09:29:35,515][INFO][main][CacheObjectBinaryProcessorImpl] Resolved
> directory for serialized binary metadata:
> /usr/share/apache-ignite/work/binary_meta/hostname123
> [09:29:35,816][INFO][main][FilePageStoreManager] Resolved page store work
> directory: /usr/share/apache-ignite/work/db/hostname123
> [09:29:35,816][INFO][main][FileWriteAheadLogManager] Resolved write ahead
> log work directory: /usr/share/apache-ignite/work/db/wal/hostname123
> [09:29:35,816][INFO][main][FileWriteAheadLogManager] Resolved write ahead
> log archive directory:
> /usr/share/apache-ignite/work/db/wal/archive/hostname123
> [09:29:35,838][INFO][main][FileWriteAheadLogManager] Started write-ahead
> log
> manager [mode=LOG_ONLY]
> [09:29:35,889][INFO][main][GridCacheDatabaseSharedManager] Read checkpoint
> status
> [startMarker=/usr/share/apache-ignite/work/db/
> hostname123/cp/1528270113599-8440d970-63bb-44fd-97ef-
> 72941ad111ac-START.bin,
> endMarker=/usr/share/apache-ignite/work/db/hostname123/cp/
> 1528270113599-8440d970-63bb-44fd-97ef-72941ad111ac-END.bin]
> [09:29:35,902][INFO][main][PageMemoryImpl] Started page memory
> [memoryAllocated=100.0 MiB, pages=24814, tableSize=1.9 MiB,
> checkpointBuffer=100.0 MiB]
> [09:29:35,903][INFO][main][GridCacheDatabaseSharedManager] Checking memory
> state [lastValidPos=FileWALPointer [idx=0, fileOff=6995549, len=11681],
> lastMarked=FileWALPointer [idx=0, fileOff=6995549, len=11681],
> lastCheckpointId=8440d970-63bb-44fd-97ef-72941ad111ac]
> [09:29:35,931][INFO][main][GridCacheDatabaseSharedManager] Found last
> checkpoint marker [cpId=8440d970-63bb-44fd-97ef-72941ad111ac,
> pos=FileWALPointer [idx=0, fileOff=6995549, len=11681]]
> [09:29:35,970][INFO][main][GridCacheDatabaseSharedManager] Applying lost
> cache updates since last checkpoint record [lastMarked=FileWALPointer
> [idx=0, fileOff=6995549, len=11681],
> lastCheckpointId=8440d970-63bb-44fd-97ef-72941ad111ac]
> [09:29:35,983][INFO][main][GridCacheDatabaseSharedManager] Finished
> applying
> WAL changes [updatesApplied=0, time=10ms]
> [09:29:36,029][INFO][main][GridClusterStateProcessor] Restoring history
> for
> BaselineTopology[id=7]
> [09:29:36,141][INFO][main][ClientListenerProcessor] Client connector
> processor has started on TCP port 10800
> [09:29:36,193][INFO][main][GridTcpRestProtocol] Command protocol
> successfully started [name=TCP binary, host=0.0.0.0/0.0.0.0, port=11211]
> [09:29:36,223][INFO][main][IgniteKernal] Non-loopback local IPs: 1.2.3.4
> [09:29:36,223][INFO][main][IgniteKernal] Enabled local MACs: 005056812C8A
> [09:29:36,248][INFO][main][TcpDiscoverySpi] Successfully bound to TCP port
> [port=47500, localHost=0.0.0.0/0.0.0.0,
> locNodeId=d484e6c6-5d54-4d13-8704-6b2cea991cde]
> [09:29:36,333][INFO][tcp-disco-srvr-#3][TcpDiscoverySpi] TCP discovery
> accepted incoming connection [rmtAddr=/5.6.7.8, rmtPort=56991]
> [09:29:36,344][INFO][tcp-disco-srvr-#3][TcpDiscoverySpi] TCP discovery
> spawning a new thread for connection [rmtAddr=/5.6.7.8, rmtPort=56991]
> [09:29:36,344][INFO][tcp-disco-sock-reader-#4][TcpDiscoverySpi] Started
> serving remote node connection [rmtAddr=/5.6.7.8:56991, rmtPort=56991]
> [09:29:36,435][SEVERE][tcp-disco-msg-worker-#2][TcpDiscoverySpi]
> TcpDiscoverSpi's message worker thread failed abnormally. Stopping the node
> in order to prevent cluster wide instability.
> class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
> join mixed cluster running in compatibility mode
> at
> org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.
> onGridDataReceived(GridClusterStateProcessor.java:714)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.
> onExchange(GridDiscoveryManager.java:883)
> at
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.
> onExchange(TcpDiscoverySpi.java:1939)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processNodeAddedMessage(ServerImpl.java:4354)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2744)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2536)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(
> ServerImpl.java:6775)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(
> ServerImpl.java:2621)
> at
> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> [09:29:36,437][SEVERE][tcp-disco-msg-worker-#2][] Critical system error
> detected. Will be handled accordingly to configured handler [hnd=class
> o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node
> with
> BaselineTopology cannot join mixed cluster running in compatibility mode]]
> class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
> join mixed cluster running in compatibility mode
> at
> org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.
> onGridDataReceived(GridClusterStateProcessor.java:714)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.
> onExchange(GridDiscoveryManager.java:883)
> at
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.
> onExchange(TcpDiscoverySpi.java:1939)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processNodeAddedMessage(ServerImpl.java:4354)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2744)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2536)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(
> ServerImpl.java:6775)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(
> ServerImpl.java:2621)
> at
> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
> [09:29:36,438][SEVERE][tcp-disco-msg-worker-#2][] JVM will be halted
> immediately due to the failure: [failureCtx=FailureContext
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node
> with
> BaselineTopology cannot join mixed cluster running in compatibility mode]]
>
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
--
Best regards,
Andrey V. Mashenkov
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by szj <sz...@juraszczyk.com>.
Well, it definitely does work in 2.4. Please notice that there needs to be
ignitevisorcmd.sh involved to trigger this bug (I didn't try with other
clients though). Here's what is printed by Java on the console:
[09:28:33]
[09:28:33] To start Console Management & Monitoring run
ignitevisorcmd.{sh|bat}
[09:28:33]
[09:28:33] Ignite node started OK (id=ae8697ad)
[09:28:33] Topology snapshot [ver=33, servers=2, clients=0, CPUs=4,
offheap=2.1GB, heap=2.0GB]
[09:28:33] ^-- Node [id=AE8697AD-6421-4C0C-96FE-FC29ED9B6DCA,
clusterState=ACTIVE]
[09:28:33] ^-- Baseline [id=7, size=2, online=2, offline=0]
[09:28:33] Data Regions Configured:
[09:28:33] ^-- default [initSize=256.0 MiB, maxSize=1.4 GiB,
persistenceEnabled=true]
[09:29:25] Ignite node stopped OK [uptime=00:00:51.837]
[09:29:35] __________ ________________
[09:29:35] / _/ ___/ |/ / _/_ __/ __/
[09:29:35] _/ // (7 7 // / / / / _/
[09:29:35] /___/\___/_/|_/___/ /_/ /___/
[09:29:35]
[09:29:35] ver. 2.5.0#20180523-sha1:86e110c7
[09:29:35] 2018 Copyright(C) Apache Software Foundation
[09:29:35]
[09:29:35] Ignite documentation: http://ignite.apache.org
[09:29:35]
[09:29:35] Quiet mode.
[09:29:35] ^-- Logging to file
'/usr/share/apache-ignite/work/log/ignite-d484e6c6.0.log'
[09:29:35] ^-- Logging by 'JavaLogger [quiet=true, config=null]'
[09:29:35] ^-- To see **FULL** console log here add -DIGNITE_QUIET=false
or "-v" to ignite.{sh|bat}
[09:29:35]
[09:29:35] OS: Linux 2.6.32-696.18.7.el6.x86_64 amd64
[09:29:35] VM information: OpenJDK Runtime Environment 1.8.0_121-b13 Oracle
Corporation OpenJDK 64-Bit Server VM 25.121-b13
[09:29:35] Configured plugins:
[09:29:35] ^-- None
[09:29:35]
[09:29:35] Configured failure handler: [hnd=StopNodeOrHaltFailureHandler
[tryStop=false, timeout=0]]
[09:29:35] Message queue limit is set to 0 which may lead to potential OOMEs
when running cache operations in FULL_ASYNC or PRIMARY_SYNC modes due to
message queues growth on sender and receiver sides.
[09:29:35] Security status [authentication=off, tls/ssl=off]
[09:29:36,435][SEVERE][tcp-disco-msg-worker-#2][TcpDiscoverySpi]
TcpDiscoverSpi's message worker thread failed abnormally. Stopping the node
in order to prevent cluster wide instability.
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onGridDataReceived(GridClusterStateProcessor.java:714)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:883)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1939)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4354)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2744)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621)
at
org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
[09:29:36,437][SEVERE][tcp-disco-msg-worker-#2][] Critical system error
detected. Will be handled accordingly to configured handler [hnd=class
o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext
[type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node with
BaselineTopology cannot join mixed cluster running in compatibility mode]]
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onGridDataReceived(GridClusterStateProcessor.java:714)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:883)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1939)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4354)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2744)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621)
at
org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
[09:29:36,438][SEVERE][tcp-disco-msg-worker-#2][] JVM will be halted
immediately due to the failure: [failureCtx=FailureContext
[type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node with
BaselineTopology cannot join mixed cluster running in compatibility mode]]
And here's the log from the log folder (hostnames/IP addresses anonymised).
Apparently the exception is thrown when the other node connects to the one
that is starting (which happens pretty quickly during the startup):
09:29:35,205][INFO][main][IgniteKernal]
>>> __________ ________________
>>> / _/ ___/ |/ / _/_ __/ __/
>>> _/ // (7 7 // / / / / _/
>>> /___/\___/_/|_/___/ /_/ /___/
>>>
>>> ver. 2.5.0#20180523-sha1:86e110c7
>>> 2018 Copyright(C) Apache Software Foundation
>>>
>>> Ignite documentation: http://ignite.apache.org
[09:29:35,217][INFO][main][IgniteKernal] Config URL:
file:/etc/apache-ignite/saltstack.xml
[09:29:35,244][INFO][main][IgniteKernal] IgniteConfiguration
[igniteInstanceName=null, pubPoolSize=8, svcPoolSize=8, callbackPoolSize=8,
stripedPoolSize=8, sysPoolSize=8, mgmtPoolSize=4, igfsPoolSize=2,
dataStreamerPoolSize=8, utilityCachePoolSize=8,
utilityCacheKeepAliveTime=60000, p2pPoolSize=2, qryPoolSize=8,
igniteHome=/usr/share/apache-ignite,
igniteWorkDir=/usr/share/apache-ignite/work,
mbeanSrv=com.sun.jmx.mbeanserver.JmxMBeanServer@6f94fa3e,
nodeId=d484e6c6-5d54-4d13-8704-6b2cea991cde,
marsh=org.apache.ignite.internal.binary.BinaryMarshaller@7fa98a66,
marshLocJobs=false, daemon=false, p2pEnabled=false, netTimeout=5000,
sndRetryDelay=1000, sndRetryCnt=3, metricsHistSize=10000,
metricsUpdateFreq=2000, metricsExpTime=9223372036854775807,
discoSpi=TcpDiscoverySpi [addrRslvr=null, sockTimeout=0, ackTimeout=0,
marsh=null, reconCnt=10, reconDelay=2000, maxAckTimeout=600000,
forceSrvMode=false, clientReconnectDisabled=false, internalLsnr=null],
segPlc=STOP, segResolveAttempts=2, waitForSegOnStart=true,
allResolversPassReq=true, segChkFreq=10000, commSpi=TcpCommunicationSpi
[connectGate=null, connPlc=null, enableForcibleNodeKill=false,
enableTroubleshootingLog=false,
srvLsnr=org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2@661972b0,
locAddr=null, locHost=null, locPort=47100, locPortRange=100, shmemPort=-1,
directBuf=true, directSndBuf=false, idleConnTimeout=600000,
connTimeout=5000, maxConnTimeout=600000, reconCnt=10, sockSndBuf=32768,
sockRcvBuf=32768, msgQueueLimit=0, slowClientQueueLimit=0, nioSrvr=null,
shmemSrv=null, usePairedConnections=false, connectionsPerNode=1,
tcpNoDelay=true, filterReachableAddresses=false, ackSndThreshold=32,
unackedMsgsBufSize=0, sockWriteTimeout=2000, lsnr=null, boundTcpPort=-1,
boundTcpShmemPort=-1, selectorsCnt=4, selectorSpins=0, addrRslvr=null,
ctxInitLatch=java.util.concurrent.CountDownLatch@5af3afd9[Count = 1],
stopping=false,
metricsLsnr=org.apache.ignite.spi.communication.tcp.TcpCommunicationMetricsListener@323b36e0],
evtSpi=org.apache.ignite.spi.eventstorage.NoopEventStorageSpi@44ebcd03,
colSpi=NoopCollisionSpi [], deploySpi=LocalDeploymentSpi [lsnr=null],
indexingSpi=org.apache.ignite.spi.indexing.noop.NoopIndexingSpi@6356695f,
addrRslvr=null, clientMode=false, rebalanceThreadPoolSize=1,
txCfg=org.apache.ignite.configuration.TransactionConfiguration@4f18837a,
cacheSanityCheckEnabled=true, discoStartupDelay=60000, deployMode=SHARED,
p2pMissedCacheSize=100, locHost=null, timeSrvPortBase=31100,
timeSrvPortRange=100, failureDetectionTimeout=10000,
clientFailureDetectionTimeout=30000, metricsLogFreq=60000, hadoopCfg=null,
connectorCfg=org.apache.ignite.configuration.ConnectorConfiguration@359f7cdf,
odbcCfg=null, warmupClos=null, atomicCfg=AtomicConfiguration
[seqReserveSize=1000, cacheMode=PARTITIONED, backups=1, aff=null,
grpName=null], classLdr=null, sslCtxFactory=null, platformCfg=null,
binaryCfg=null, memCfg=null, pstCfg=null, dsCfg=DataStorageConfiguration
[sysRegionInitSize=41943040, sysCacheMaxSize=104857600, pageSize=0,
concLvl=0, dfltDataRegConf=DataRegionConfiguration [name=default,
maxSize=1515879628, initSize=268435456, swapPath=null,
pageEvictionMode=DISABLED, evictionThreshold=0.9, emptyPagesPoolSize=100,
metricsEnabled=false, metricsSubIntervalCount=5,
metricsRateTimeInterval=60000, persistenceEnabled=true,
checkpointPageBufSize=0], storagePath=null, checkpointFreq=180000,
lockWaitTime=10000, checkpointThreads=4, checkpointWriteOrder=SEQUENTIAL,
walHistSize=20, walSegments=10, walSegmentSize=67108864, walPath=db/wal,
walArchivePath=db/wal/archive, metricsEnabled=false, walMode=LOG_ONLY,
walTlbSize=131072, walBuffSize=0, walFlushFreq=2000, walFsyncDelay=1000,
walRecordIterBuffSize=67108864, alwaysWriteFullPages=false,
fileIOFactory=org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory@4f6ee6e4,
metricsSubIntervalCnt=5, metricsRateTimeInterval=60000,
walAutoArchiveAfterInactivity=-1, writeThrottlingEnabled=false,
walCompactionEnabled=false], activeOnStart=true, autoActivation=true,
longQryWarnTimeout=3000, sqlConnCfg=null,
cliConnCfg=ClientConnectorConfiguration [host=null, port=10800,
portRange=100, sockSndBufSize=0, sockRcvBufSize=0, tcpNoDelay=true,
maxOpenCursorsPerConn=128, threadPoolSize=8, idleTimeout=0,
jdbcEnabled=true, odbcEnabled=true, thinCliEnabled=true, sslEnabled=false,
useIgniteSslCtxFactory=true, sslClientAuth=false, sslCtxFactory=null],
authEnabled=false, failureHnd=null, commFailureRslvr=null]
[09:29:35,245][INFO][main][IgniteKernal] Daemon mode: off
[09:29:35,246][INFO][main][IgniteKernal] OS: Linux
2.6.32-696.18.7.el6.x86_64 amd64
[09:29:35,246][INFO][main][IgniteKernal] OS user: saltmndb
[09:29:35,246][INFO][main][IgniteKernal] PID: 30531
[09:29:35,247][INFO][main][IgniteKernal] Language runtime: Java Platform API
Specification ver. 1.8
[09:29:35,247][INFO][main][IgniteKernal] VM information: OpenJDK Runtime
Environment 1.8.0_121-b13 Oracle Corporation OpenJDK 64-Bit Server VM
25.121-b13
[09:29:35,249][INFO][main][IgniteKernal] VM total memory: 0.96GB
[09:29:35,249][INFO][main][IgniteKernal] Remote Management [restart: on,
REST: on, JMX (remote: on, port: 49171, auth: off, ssl: off)]
[09:29:35,250][INFO][main][IgniteKernal] Logger: JavaLogger [quiet=true,
config=null]
[09:29:35,250][INFO][main][IgniteKernal]
IGNITE_HOME=/usr/share/apache-ignite
[09:29:35,250][INFO][main][IgniteKernal] VM arguments: [-Xms1g, -Xmx1g,
-XX:+AggressiveOpts, -XX:MaxMetaspaceSize=256m, -DIGNITE_QUIET=true,
-DIGNITE_SUCCESS_FILE=/usr/share/apache-ignite/work/ignite_success_bff20ab1-13bd-44a4-a70c-2ae8d90e8486,
-Dcom.sun.management.jmxremote, -Dcom.sun.management.jmxremote.port=49171,
-Dcom.sun.management.jmxremote.authenticate=false,
-Dcom.sun.management.jmxremote.ssl=false,
-DIGNITE_HOME=/usr/share/apache-ignite,
-DIGNITE_PROG_NAME=/usr/share/apache-ignite/bin/ignite.sh]
[09:29:35,250][INFO][main][IgniteKernal] System cache's DataRegion size is
configured to 40 MB. Use DataStorageConfiguration.systemCacheMemorySize
property to change the setting.
[09:29:35,259][INFO][main][IgniteKernal] Configured caches [in 'sysMemPlc'
dataRegion: ['ignite-sys-cache']]
[09:29:35,276][INFO][main][IgniteKernal] 3-rd party licenses can be found
at: /usr/share/apache-ignite/libs/licenses
[09:29:35,353][INFO][main][IgnitePluginProcessor] Configured plugins:
[09:29:35,353][INFO][main][IgnitePluginProcessor] ^-- None
[09:29:35,354][INFO][main][IgnitePluginProcessor]
[09:29:35,356][INFO][main][FailureProcessor] Configured failure handler:
[hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0]]
[09:29:35,418][INFO][main][TcpCommunicationSpi] Successfully bound
communication NIO server to TCP port [port=47100, locHost=0.0.0.0/0.0.0.0,
selectorsCnt=4, selectorSpins=0, pairedConn=false]
[09:29:35,422][WARNING][main][TcpCommunicationSpi] Message queue limit is
set to 0 which may lead to potential OOMEs when running cache operations in
FULL_ASYNC or PRIMARY_SYNC modes due to message queues growth on sender and
receiver sides.
[09:29:35,450][WARNING][main][NoopCheckpointSpi] Checkpoints are disabled
(to enable configure any GridCheckpointSpi implementation)
[09:29:35,477][WARNING][main][GridCollisionManager] Collision resolution is
disabled (all jobs will be activated upon arrival).
[09:29:35,478][INFO][main][IgniteKernal] Security status
[authentication=off, tls/ssl=off]
[09:29:35,515][INFO][main][CacheObjectBinaryProcessorImpl] Resolved
directory for serialized binary metadata:
/usr/share/apache-ignite/work/binary_meta/hostname123
[09:29:35,816][INFO][main][FilePageStoreManager] Resolved page store work
directory: /usr/share/apache-ignite/work/db/hostname123
[09:29:35,816][INFO][main][FileWriteAheadLogManager] Resolved write ahead
log work directory: /usr/share/apache-ignite/work/db/wal/hostname123
[09:29:35,816][INFO][main][FileWriteAheadLogManager] Resolved write ahead
log archive directory:
/usr/share/apache-ignite/work/db/wal/archive/hostname123
[09:29:35,838][INFO][main][FileWriteAheadLogManager] Started write-ahead log
manager [mode=LOG_ONLY]
[09:29:35,889][INFO][main][GridCacheDatabaseSharedManager] Read checkpoint
status
[startMarker=/usr/share/apache-ignite/work/db/hostname123/cp/1528270113599-8440d970-63bb-44fd-97ef-72941ad111ac-START.bin,
endMarker=/usr/share/apache-ignite/work/db/hostname123/cp/1528270113599-8440d970-63bb-44fd-97ef-72941ad111ac-END.bin]
[09:29:35,902][INFO][main][PageMemoryImpl] Started page memory
[memoryAllocated=100.0 MiB, pages=24814, tableSize=1.9 MiB,
checkpointBuffer=100.0 MiB]
[09:29:35,903][INFO][main][GridCacheDatabaseSharedManager] Checking memory
state [lastValidPos=FileWALPointer [idx=0, fileOff=6995549, len=11681],
lastMarked=FileWALPointer [idx=0, fileOff=6995549, len=11681],
lastCheckpointId=8440d970-63bb-44fd-97ef-72941ad111ac]
[09:29:35,931][INFO][main][GridCacheDatabaseSharedManager] Found last
checkpoint marker [cpId=8440d970-63bb-44fd-97ef-72941ad111ac,
pos=FileWALPointer [idx=0, fileOff=6995549, len=11681]]
[09:29:35,970][INFO][main][GridCacheDatabaseSharedManager] Applying lost
cache updates since last checkpoint record [lastMarked=FileWALPointer
[idx=0, fileOff=6995549, len=11681],
lastCheckpointId=8440d970-63bb-44fd-97ef-72941ad111ac]
[09:29:35,983][INFO][main][GridCacheDatabaseSharedManager] Finished applying
WAL changes [updatesApplied=0, time=10ms]
[09:29:36,029][INFO][main][GridClusterStateProcessor] Restoring history for
BaselineTopology[id=7]
[09:29:36,141][INFO][main][ClientListenerProcessor] Client connector
processor has started on TCP port 10800
[09:29:36,193][INFO][main][GridTcpRestProtocol] Command protocol
successfully started [name=TCP binary, host=0.0.0.0/0.0.0.0, port=11211]
[09:29:36,223][INFO][main][IgniteKernal] Non-loopback local IPs: 1.2.3.4
[09:29:36,223][INFO][main][IgniteKernal] Enabled local MACs: 005056812C8A
[09:29:36,248][INFO][main][TcpDiscoverySpi] Successfully bound to TCP port
[port=47500, localHost=0.0.0.0/0.0.0.0,
locNodeId=d484e6c6-5d54-4d13-8704-6b2cea991cde]
[09:29:36,333][INFO][tcp-disco-srvr-#3][TcpDiscoverySpi] TCP discovery
accepted incoming connection [rmtAddr=/5.6.7.8, rmtPort=56991]
[09:29:36,344][INFO][tcp-disco-srvr-#3][TcpDiscoverySpi] TCP discovery
spawning a new thread for connection [rmtAddr=/5.6.7.8, rmtPort=56991]
[09:29:36,344][INFO][tcp-disco-sock-reader-#4][TcpDiscoverySpi] Started
serving remote node connection [rmtAddr=/5.6.7.8:56991, rmtPort=56991]
[09:29:36,435][SEVERE][tcp-disco-msg-worker-#2][TcpDiscoverySpi]
TcpDiscoverSpi's message worker thread failed abnormally. Stopping the node
in order to prevent cluster wide instability.
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onGridDataReceived(GridClusterStateProcessor.java:714)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:883)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1939)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4354)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2744)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621)
at
org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
[09:29:36,437][SEVERE][tcp-disco-msg-worker-#2][] Critical system error
detected. Will be handled accordingly to configured handler [hnd=class
o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext
[type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node with
BaselineTopology cannot join mixed cluster running in compatibility mode]]
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onGridDataReceived(GridClusterStateProcessor.java:714)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:883)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1939)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4354)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2744)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621)
at
org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
[09:29:36,438][SEVERE][tcp-disco-msg-worker-#2][] JVM will be halted
immediately due to the failure: [failureCtx=FailureContext
[type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Node with
BaselineTopology cannot join mixed cluster running in compatibility mode]]
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by Denis Magda <dm...@apache.org>.
It's hard to guess what happened on your side without seeing error logs.
Ignite 2.5 passed QA cycles.
Share the logs.
--
Denis
On Tue, Jun 5, 2018 at 4:39 PM, szj <sz...@juraszczyk.com> wrote:
> I wiped Ignite 2.5 and tried 2.4. On a 2-node cluster I could restart each
> node back and forth without hindrance. I could even consider using 2.4 but
> it lacks the authentication feature and also the rpm is built with all
> contents world-writable which makes you wonder about the overall security
> of
> the solution (of the lack of it really).
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
Re: Ignite 2.5 nodes do not rejoin the cluster after restart (works
on 2.4)
Posted by szj <sz...@juraszczyk.com>.
I wiped Ignite 2.5 and tried 2.4. On a 2-node cluster I could restart each
node back and forth without hindrance. I could even consider using 2.4 but
it lacks the authentication feature and also the rpm is built with all
contents world-writable which makes you wonder about the overall security of
the solution (of the lack of it really).
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.5 nodes do not rejoin the cluster after restart
Posted by szj <sz...@juraszczyk.com>.
That is not possible. The cluster was stripped down to 2 nodes and when
ignitevisorcmd.sh is not connected I can stop and start cluster nodes
freely. As soon as ignitevisorcmd.sh is connected to the grid on any of the
2 nodes at the time you stop one cluster node, that makes the stopped
cluster node fail to start with "Node with BaselineTopology cannot join
mixed cluster running in compatibility mode". I would be very surprised if
devs could not reproduce it with:
1. Set up a 2-node cluster with the simplest config possible. Persistence
may need to be enabled (I had it on) and consistentID hard-coded in the
config (that's what I did but probably doesn't matter).
2. Make sure the cluster is active, 2 nodes are ONLINE.
3. Create an SQL table which will create an underlying cache - may also not
be needed really but that is what I did.
4. Try stopping/started the cluster nodes (one at a time) with systemctl (or
kill the processes manually if you prefer or have an old system with no
systemd). This should work.
5. Now start ignitevisorcmd.sh. on either node, connect it and make sure it
can see both cluster nodes with "top".
6. Try restarting any of the 2 cluster nodes while ignitevisorcmd.sh is
connected (same as in 4.). You should get the lovely error I did.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/
Re: Ignite 2.5 nodes do not rejoin the cluster after restart
Posted by Andrey Mashenkov <an...@gmail.com>.
HI,
Is it possible there are nodes out of baseline started ans node with
baseline is able to discover them?
On Wed, Jun 6, 2018 at 9:48 AM, szj <sz...@juraszczyk.com> wrote:
> I also tested an upgrade of the PoC 2-node cluster running Ignite 2.4 to
> 2.5.
> Both nodes shut down, upgraded, started on node1, started on node2, cluster
> looking healthy with both nodes ONLINE. Then I shut down one of the nodes
> with "kill -k -al" using batch ignitevisorcmd.sh. Trying to start it brings
> back the good old
>
> class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
> join mixed cluster running in compatibility mode
> at
> org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.
> onGridDataReceived(GridClusterStateProcessor.java:714)
> at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.
> onExchange(GridDiscoveryManager.java:883)
> at
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.
> onExchange(TcpDiscoverySpi.java:1939)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processNodeAddedMessage(ServerImpl.java:4354)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2744)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.
> processMessage(ServerImpl.java:2536)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(
> ServerImpl.java:6775)
> at
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(
> ServerImpl.java:2621)
> at
> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
>
>
> Amazingly when I kicked the node out of the baseline, started it (then it
> does start), added back to the baseline and killed the Java process and
> ignite.sh with the Linux kill command (as mentioned I had to try it on a
> system without systemd) the node DID start (!?).
>
> That made me thing that it has something to do with the ignitevisorcmd.sh.
> What I did I then started ignitevisorcmd.sh on node1 and connected it,
> killed ignite (by killing the process) on node2 and bang! - it would not
> start again with the "mixed cluster running in compatibility mode" garbage.
>
> So my conclusion is that if you restart a node when ignitevisorcmd.sh is
> connected to the mesh on any node (be that the restarted one or any other),
> then you will get the "Node with BaselineTopology cannot join mixed cluster
> running in compatibility mode" error and your node won't start. My
> knowledge
> of Ignite is poor but I think it must have something to do with ignitevisor
> being a kind of a node too. But in that case would any client node
> connected
> cause the same problem? I didn't try - didn't get that far.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>
--
Best regards,
Andrey V. Mashenkov
Re: Ignite 2.5 nodes do not rejoin the cluster after restart
Posted by szj <sz...@juraszczyk.com>.
I also tested an upgrade of the PoC 2-node cluster running Ignite 2.4 to 2.5.
Both nodes shut down, upgraded, started on node1, started on node2, cluster
looking healthy with both nodes ONLINE. Then I shut down one of the nodes
with "kill -k -al" using batch ignitevisorcmd.sh. Trying to start it brings
back the good old
class org.apache.ignite.IgniteException: Node with BaselineTopology cannot
join mixed cluster running in compatibility mode
at
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onGridDataReceived(GridClusterStateProcessor.java:714)
at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$5.onExchange(GridDiscoveryManager.java:883)
at
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:1939)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeAddedMessage(ServerImpl.java:4354)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2744)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2536)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:6775)
at
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:2621)
at
org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62)
Amazingly when I kicked the node out of the baseline, started it (then it
does start), added back to the baseline and killed the Java process and
ignite.sh with the Linux kill command (as mentioned I had to try it on a
system without systemd) the node DID start (!?).
That made me thing that it has something to do with the ignitevisorcmd.sh.
What I did I then started ignitevisorcmd.sh on node1 and connected it,
killed ignite (by killing the process) on node2 and bang! - it would not
start again with the "mixed cluster running in compatibility mode" garbage.
So my conclusion is that if you restart a node when ignitevisorcmd.sh is
connected to the mesh on any node (be that the restarted one or any other),
then you will get the "Node with BaselineTopology cannot join mixed cluster
running in compatibility mode" error and your node won't start. My knowledge
of Ignite is poor but I think it must have something to do with ignitevisor
being a kind of a node too. But in that case would any client node connected
cause the same problem? I didn't try - didn't get that far.
--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/