How to fix BaselineTopology of joining node ERROR?

Ignite Version = 2.16.0
Running Ignite Single Node with Springboot. once backend start ignite automatic 
start with that.
where Springboot Version: 127.0.0.1 and Java Version: 21

We are migrating ignite work directory from AWS Server to Proxmox Server(where 
file system is ZFS)
In AWS Server application is working on those data. after after migrated ingite 
throwing following error.

Ignite Error Log :
Caused by: org.apache.ignite.IgniteCheckedException: Failed to start SPI: 
TcpDiscoverySpi [addrRslvr=null, addressFilter=null, sockTimeout=5000, 
ackTimeout=5000, marsh=JdkMarshaller 
[clsFilter=org.apache.ignite.marshaller.MarshallerUtils$1@517013b3], 
reconCnt=10, reconDelay=2000, maxAckTimeout=600000, soLinger=0, 
forceSrvMode=false, clientReconnectDisabled=false, internalLsnr=null, 
skipAddrsRandomization=false]
        at 
org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:280)
        at 
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:1076)
        at 
org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1774)
        ... 47 common frames omitted
Caused by: org.apache.ignite.spi.IgniteSpiException: BaselineTopology of 
joining node (47cf4755-484a-438c-9a83-e8984eab05b3) is not compatible with 
BaselineTopology in the cluster. Branching history of cluster BlT ([439122630]) 
doesn't contain branching point hash of joining node BlT (-609359374). Consider 
cleaning persistent storage of the node and adding it to the cluster again.
        at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:2110)
        at 
org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:1204)
        at 
org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:472)
        at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:2206)
        at 
org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:277)
        ... 49 common frames omitted



Java Code :

@Configuration
public class IgniteInit {

    /**
     * This method is used to create ignite bean
     *
     * @return {@link Ignite}
     */
    @Bean
    public Ignite getIgnite() {
        return IgniteConfig.getIgnite();
    }
}

public class IgniteConfig {

    private static final String DFM_IGNITE_SERVER_XML = "dfm_ignite-server.xml";

    public static Ignite getIgnite() {
        if (ignite == null) {
            synchronized (IgniteConfig.class) {
                if (ignite == null) {
                    try {
                        ignite = Ignition.start(DFM_IGNITE_SERVER_XML);
                        loadData(ignite);
                    } catch (Exception e) {
                        LOGGER.error(e.getMessage());
                        LOGGER.error("Unexpected failure: %s\n", e);
                    }

                } else {
                    try {
                        Collection<String> cacheNames = ignite.cacheNames();
                        LOGGER.debug("cacheNames : " + cacheNames);
                    } catch (Exception e) {
                        try {
                            ignite.close();
                        } catch (Exception e1) {
                            e1.printStackTrace();
                        }
                        ignite = Ignition.start(DFM_IGNITE_SERVER_XML);
                        loadData(ignite);
                    }
                }
            }
        }
        // LOGGER.debug("ignite : " + ignite);
        return ignite;
    }

    /**
     * This method is used to load previous data
     *
     * @param ignite
     */
    private static void loadData(Ignite ignite) {
        LOGGER.info(">>> Loading cache ");
        ignite.cluster().state(ClusterState.ACTIVE);

        ignite.cache(IgniteConstant.PERMISSION_CACHE).loadCache(null);

        ignite.cache(IgniteConstant.OBJECT_TYPE_CACHE).loadCache(null);

        ignite.cache(IgniteConstant.OBJECT_CACHE).loadCache(null);
    }
    ...............
}

ignite xml config :
<?xml version="1.0" encoding="UTF-8"?>

<!-- This file was generated by Ignite Web Console (06/07/2019, 12:06) -->

<beans xmlns="http://www.springframework.org/schema/beans";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xmlns:util="http://www.springframework.org/schema/util";
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                           
http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/util
                           
http://www.springframework.org/schema/util/spring-util.xsd";>


    <bean id="placeholderConfig"
        
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="ignite.properties" />
    </bean>


    <bean class="org.apache.ignite.configuration.IgniteConfiguration">
        <!-- <property name="clientMode" value="true"/> -->
        <property name="sqlSchemas">
            <list>
                <value>DFM</value>
            </list>
        </property>
        <property name="workDirectory" value="/home/ubuntu/work" />
        <!-- Adding binaryConfiguration -->
        <property name="binaryConfiguration">
            <bean
                class="org.apache.ignite.configuration.BinaryConfiguration">
                <property name="compactFooter" value="false" />
                <property name="typeConfigurations">
                    <list>
                        <bean 
class="org.apache.ignite.binary.BinaryTypeConfiguration">
                            <property name="typeName" 
value="org.springframework.hateoas.Link"/>
                            <property name="serializer">
                                <bean 
class="com.decisionmanagementsolutions.dfm.ignite.server.config.LinkBinarySerializer"/>
                            </property>
                        </bean>
                    </list>
                </property>
            </bean>
        </property>

        <property name="igniteInstanceName" value="dfm_ignite" />

        <property name="failureHandler">
            <bean class="org.apache.ignite.failure.NoOpFailureHandler">
                <property name="ignoredFailureTypes">
                    <list>
                    </list>
                </property>
            </bean>
        </property>

        <!-- Enabling Apache Ignite Persistent Store. -->
        <property name="dataStorageConfiguration">
            <bean
                
class="org.apache.ignite.configuration.DataStorageConfiguration">
                <property name="checkpointFrequency" value="10000" />
                <property name="writeThrottlingEnabled" value="true" />

                <property name="defaultDataRegionConfiguration">
                    <bean
                        
class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="persistenceEnabled" value="true" />

                        <property name="initialSize"
                            value="#{1L * 1024 * 1024 * 1024}" />
                        <property name="maxSize"
                            value="#{7L * 1024 * 1024 * 1024}" />

                    </bean>
                </property>

                <property name="storagePath" value="/home/ubuntu/work/db" />
                <property name="walPath" value="/home/ubuntu/work/wal/path" />
                <property name="walArchivePath"
                    value="/home/ubuntu/work/wal/archive/path" />
                <!-- Changing WAL Mode. -->
                <property name="walMode" value="FSYNC" />

                <property name="walPageCompression" value="LZ4" />
                <property name="walPageCompressionLevel" value="10" />

                <property name="walCompactionEnabled" value="true" />
                <property name="walCompactionLevel" value="6" />

                <property name="dataRegionConfigurations">
                    <bean
                        
class="org.apache.ignite.configuration.DataRegionConfiguration">
                        <property name="name" value="inMemory_region" />
                        <property name="initialSize" value="#{20 * 1024 * 
1024}" />
                        <property name="maxSize" value="#{512 * 1024 * 1024}" />
                        <property name="pageEvictionMode" value="RANDOM_2_LRU" 
/>
                        <property name="persistenceEnabled" value="false" />
                    </bean>
                </property>

            </bean>
        </property>

        <property name="stripedPoolSize" value="10" />
        <property name="queryThreadPoolSize" value="20" />
        <property name="systemThreadPoolSize" value="12" />
        <property name="publicThreadPoolSize" value="24" />

        <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="addresses">
                            <list>
                                <value>127.0.0.1:47500..47510</value>
                            </list>
                        </property>
                    </bean>
                </property>
            </bean>
        </property>

        <property name="cacheConfiguration">
            <list>

                <!-- Object Type Cache -->
                <bean
                    class="org.apache.ignite.configuration.CacheConfiguration">
                    <property name="name" value="ObjectTypeCache" />
                    <property name="cacheMode" value="REPLICATED" />
                    <property name="atomicityMode" value="TRANSACTIONAL" />
                    <property name="sqlSchema" value="DFM" />

                    <property name="loadPreviousValue" value="true" />
                    <property name="statisticsEnabled" value="true" />
                    <property name="managementEnabled" value="true" />

                    <property name="queryEntities">
                        <list>
                            <bean class="org.apache.ignite.cache.QueryEntity">
                                <property name="keyType" 
value="java.lang.String" />
.......................


Reply via email to