Igor created IGNITE-21088:
-----------------------------

             Summary: Impossible to restart node with json config
                 Key: IGNITE-21088
                 URL: https://issues.apache.org/jira/browse/IGNITE-21088
             Project: Ignite
          Issue Type: Bug
          Components: general
    Affects Versions: 3.0.0-beta2
            Reporter: Igor
             Fix For: 3.0.0-beta2


*Steps:*
1. Create ignite-config.json config instead of ignite-config.conf
{code:java}
{
  "network" : {
    "nodeFinder" : {
      "netClusterNodes" : [ "localhost:3110", "localhost:3111" ]
    },
    "port" : 3110
  },
  "rest" : {
    "port" : 10550
  },
  "clientConnector" : {
    "port" : 2080
  }
} {code}
2. Start node.

 

3. Stop node.
4. Restart node.
*Expected:*
Node restarted.
*Actual:* 
Config was rewritten into .conf format (but filename wasn't changed) and didn't 
start because incorrectly formatted config.
{code:java}
aimem {
    defaultRegion {
        emptyPagesPoolSize=100
        evictionMode=DISABLED
        evictionThreshold=0.9
        initSize=13666140160
        maxSize=13666140160
        memoryAllocator {
            type=unsafe
        }
    }
    pageSize=16384
}
aipersist {
    checkpoint {
        checkpointDelayMillis=200
        checkpointThreads=4
        compactionThreads=4
        frequency=180000
        frequencyDeviation=40
        logReadLockThresholdTimeout=0
        readLockTimeout=10000
        useAsyncFileIoFactory=true
    }
    defaultRegion {
        memoryAllocator {
            type=unsafe
        }
        replacementMode=CLOCK
        size=13666140160
    }
    pageSize=16384
}
clientConnector {
    connectTimeout=5000
    idleTimeout=0
    metricsEnabled=false
    port=2080
    sendServerExceptionStackTraceToClient=false
    ssl {
        ciphers=""
        clientAuth=none
        enabled=false
        keyStore {
            password=""
            path=""
            type=PKCS12
        }
        trustStore {
            password=""
            path=""
            type=PKCS12
        }
    }
}
cluster {
    networkInvokeTimeout=500
}
compute {
    queueMaxSize=2147483647
    statesLifetimeMillis=60000
    threadPoolSize=20
    threadPoolStopTimeoutMillis=10000
}
deployment {
    deploymentLocation=deployment
}
network {
    fileTransfer {
        chunkSize=1048576
        maxConcurrentRequests=4
        responseTimeout=10000
        threadPoolSize=8
    }
    inbound {
        soBacklog=128
        soKeepAlive=true
        soLinger=0
        soReuseAddr=true
        tcpNoDelay=true
    }
    membership {
        failurePingInterval=1000
        membershipSyncInterval=30000
        scaleCube {
            failurePingRequestMembers=3
            gossipInterval=200
            gossipRepeatMult=3
            membershipSuspicionMultiplier=5
            metadataTimeout=3000
        }
    }
    nodeFinder {
        netClusterNodes=[
            "localhost:3110",
            "localhost:3111"
        ]
        type=STATIC
    }
    outbound {
        soKeepAlive=true
        soLinger=0
        tcpNoDelay=true
    }
    port=3110
    shutdownQuietPeriod=0
    shutdownTimeout=15000
    ssl {
        ciphers=""
        clientAuth=none
        enabled=false
        keyStore {
            password=""
            path=""
            type=PKCS12
        }
        trustStore {
            password=""
            path=""
            type=PKCS12
        }
    }
}
raft {
    fsync=true
    responseTimeout=3000
    retryDelay=200
    retryTimeout=10000
    rpcInstallSnapshotTimeout=300000
    volatileRaft {
        logStorage {
            name=unlimited
        }
    }
}
rest {
    dualProtocol=false
    httpToHttpsRedirection=false
    port=10550
    ssl {
        ciphers=""
        clientAuth=none
        enabled=false
        keyStore {
            password=""
            path=""
            type=PKCS12
        }
        port=10400
        trustStore {
            password=""
            path=""
            type=PKCS12
        }
    }
}
rocksDb {
    defaultRegion {
        cache=lru
        numShardBits=-1
        size=268435456
        writeBufferSize=67108864
    }
    flushDelayMillis=100
} {code}
The error while starting:
{code:java}
org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:58e58a9a-e9a7-4d2e-bba6-9477d41d03b2 Unable to start [node=Cluster_0]
        at 
org.apache.ignite.internal.app.IgniteImpl.handleStartException(IgniteImpl.java:897)
        at org.apache.ignite.internal.app.IgniteImpl.start(IgniteImpl.java:886)
        at 
org.apache.ignite.internal.app.IgnitionImpl.doStart(IgnitionImpl.java:198)
        at 
org.apache.ignite.internal.app.IgnitionImpl.start(IgnitionImpl.java:99)
        at org.apache.ignite.IgnitionManager.start(IgnitionManager.java:72)
        at org.apache.ignite.IgnitionManager.start(IgnitionManager.java:51)
        at 
org.apache.ignite.internal.app.IgniteRunner.call(IgniteRunner.java:48)
        at 
org.apache.ignite.internal.app.IgniteRunner.call(IgniteRunner.java:35)
        at picocli.CommandLine.executeUserObject(CommandLine.java:2041)
        at picocli.CommandLine.access$1500(CommandLine.java:148)
        at 
picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2461)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2453)
        at picocli.CommandLine$RunLast.handle(CommandLine.java:2415)
        at 
picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2273)
        at picocli.CommandLine$RunLast.execute(CommandLine.java:2417)
        at picocli.CommandLine.execute(CommandLine.java:2170)
        at 
org.apache.ignite.internal.app.IgniteRunner.start(IgniteRunner.java:60)
        at 
org.apache.ignite.internal.app.IgniteRunner.main(IgniteRunner.java:74)
Caused by: org.apache.ignite.internal.configuration.NodeConfigParseException: 
IGN-NODECFG-4 TraceId:58e58a9a-e9a7-4d2e-bba6-9477d41d03b2 Failed to parse 
config content from file 
C:\Users\lunig\Development\ignite3-tests\core\logs\20231215_010342_666000_JfrAdapterTest_testJfrProfiling\Cluster_0\home\etc\ignite-config.json
        at 
org.apache.ignite.internal.configuration.storage.LocalFileConfigurationStorage.readHoconFromFile(LocalFileConfigurationStorage.java:144)
        at 
org.apache.ignite.internal.configuration.storage.LocalFileConfigurationStorage.readDataOnRecovery(LocalFileConfigurationStorage.java:122)
        at 
org.apache.ignite.internal.configuration.ConfigurationChanger.start(ConfigurationChanger.java:249)
        at 
org.apache.ignite.internal.configuration.ConfigurationRegistry.start(ConfigurationRegistry.java:98)
        at 
org.apache.ignite.internal.configuration.ConfigurationManager.start(ConfigurationManager.java:59)
        at 
org.apache.ignite.internal.app.LifecycleManager.startComponent(LifecycleManager.java:74)
        at org.apache.ignite.internal.app.IgniteImpl.start(IgniteImpl.java:786)
        ... 16 more
Caused by: com.typesafe.config.ConfigException$Parse: 
C:\Users\lunig\Development\ignite3-tests\core\logs\20231215_010342_666000_JfrAdapterTest_testJfrProfiling\Cluster_0\home\etc\ignite-config.json:
 1: Token not allowed in valid JSON: 'aimem'
        at 
com.typesafe.config.impl.ConfigDocumentParser$ParseContext.parseError(ConfigDocumentParser.java:201)
        at 
com.typesafe.config.impl.ConfigDocumentParser$ParseContext.parseError(ConfigDocumentParser.java:197)
        at 
com.typesafe.config.impl.ConfigDocumentParser$ParseContext.nextToken(ConfigDocumentParser.java:54)
        at 
com.typesafe.config.impl.ConfigDocumentParser$ParseContext.nextTokenCollectingWhitespace(ConfigDocumentParser.java:65)
        at 
com.typesafe.config.impl.ConfigDocumentParser$ParseContext.parse(ConfigDocumentParser.java:629)
        at 
com.typesafe.config.impl.ConfigDocumentParser.parse(ConfigDocumentParser.java:14)
        at com.typesafe.config.impl.Parseable.rawParseValue(Parseable.java:262)
        at com.typesafe.config.impl.Parseable.rawParseValue(Parseable.java:250)
        at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:180)
        at com.typesafe.config.impl.Parseable.parseValue(Parseable.java:174)
        at com.typesafe.config.impl.Parseable.parse(Parseable.java:301)
        at com.typesafe.config.ConfigFactory.parseFile(ConfigFactory.java:792)
        at 
org.apache.ignite.internal.configuration.storage.LocalFileConfigurationStorage.readHoconFromFile(LocalFileConfigurationStorage.java:142)
        ... 22 more
 {code}
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to