calling addNode function every two seconds


a.germashev@...
 

Hi, 

I have deployed nodes using cordite NMS with a dev mode: false in node.conf file. At first start everything is going well, however after node restart I receive such messages every 2 seconds.

[INFO ] 2020-04-29T04:29:12,727Z [Network Map Updater Thread-1] network.PersistentNetworkMapCache.addNode - Adding node with info: NodeInfo(addresses=[nodeUsers:10002], legalIdentitiesAndCerts=[OU=Users, O=Users, L=London, C=GB], platformVersion=4, serial=1587715171081)

[INFO ] 2020-04-29T04:29:12,727Z [Network Map Updater Thread-1] network.PersistentNetworkMapCache.addNode - Discarding older nodeInfo for OU=Users, O=Users, L=London, C=GB

In the same time at the start, node have been recognised as first of all I got the next message.  

[INFO ] 2020-04-28T05:50:01,933Z [RxIoScheduler-2] network.PersistentNetworkMapCache.addNode - Adding node with info: NodeInfo(addresses=[nodeUsers:10002], legalIdentitiesAndCerts=[OU=Users, O=Users, L=London, C=GB], platformVersion=4, serial=1587744992133)

[INFO ] 2020-04-28T05:50:02,071Z [RxIoScheduler-2] network.PersistentNetworkMapCache.addNode - Previous node was identical to incoming one - doing nothing

 

It seams that new nodeInfo generated (as serial is different for both logs), however previous one is still in the DB.

 

I have tried to store existed nodeInfo outside the docker container and mount it via volume to always use the same one, however got this error at node start 

 

java.nio.file.FileSystemException: /opt/corda/nodeInfo-93FFD12275C3C355D43D4C8B826AC284526100B345091990245D589C9F8C3483: Device or resource busy

at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) ~[?:1.8.0_212]

at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:1.8.0_212]

at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:1.8.0_212]

at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244) ~[?:1.8.0_212]

at sun.nio.fs.AbstractFileSystemProvider.deleteIfExists(AbstractFileSystemProvider.java:108) ~[?:1.8.0_212]

at java.nio.file.Files.deleteIfExists(Files.java:1165) ~[?:1.8.0_212]

at java.nio.file.Files.copy(Files.java:3004) ~[?:1.8.0_212]

at net.corda.core.internal.InternalUtils.copyTo(InternalUtils.kt:120) ~[corda-core-4.1.jar:?]

at net.corda.node.services.network.NodeInfoWatcher$Companion.saveToFile(NodeInfoWatcher.kt:55) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.AbstractNode.updateNodeInfo(AbstractNode.kt:477) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.AbstractNode.access$updateNodeInfo(AbstractNode.kt:120) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.AbstractNode$generateAndSaveNodeInfo$$inlined$use$lambda$1.invoke(AbstractNode.kt:295) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.AbstractNode$generateAndSaveNodeInfo$$inlined$use$lambda$1.invoke(AbstractNode.kt:120) ~[corda-node-4.1.jar:?]

at net.corda.nodeapi.internal.persistence.CordaPersistence.inTopLevelTransaction(CordaPersistence.kt:250) ~[corda-node-api-4.1.jar:?]

at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:226) ~[corda-node-api-4.1.jar:?]

at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:204) ~[corda-node-api-4.1.jar:?]

at net.corda.nodeapi.internal.persistence.CordaPersistence.transaction(CordaPersistence.kt:210) ~[corda-node-api-4.1.jar:?]

at net.corda.node.internal.AbstractNode.generateAndSaveNodeInfo(AbstractNode.kt:294) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.Node.generateAndSaveNodeInfo(Node.kt:419) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration.registerWithNetwork(InitialRegistrationCli.kt:79) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration.access$registerWithNetwork(InitialRegistrationCli.kt:39) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration$initialRegistration$1.invoke(InitialRegistrationCli.kt:87) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration$initialRegistration$1.invoke(InitialRegistrationCli.kt:39) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartupLogging$DefaultImpls.attempt(NodeStartup.kt:509) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration.attempt(InitialRegistrationCli.kt:39) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration.initialRegistration(InitialRegistrationCli.kt:87) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistration.run(InitialRegistrationCli.kt:108) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:186) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartup$initialiseAndRun$5.invoke(NodeStartup.kt:137) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartupLogging$DefaultImpls.attempt(NodeStartup.kt:509) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartup.attempt(NodeStartup.kt:137) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartup.initialiseAndRun(NodeStartup.kt:185) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartup.initialiseAndRun$default(NodeStartup.kt:146) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.subcommands.InitialRegistrationCli.runProgram(InitialRegistrationCli.kt:30) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartupCli.runProgram(NodeStartup.kt:111) ~[corda-node-4.1.jar:?]

at net.corda.cliutils.CordaCliWrapper.call(CordaCliWrapper.kt:190) ~[corda-tools-cliutils-4.1.jar:?]

at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:83) ~[corda-node-4.1.jar:?]

at net.corda.node.internal.NodeStartupCli.call(NodeStartup.kt:64) ~[corda-node-4.1.jar:?]

at picocli.CommandLine.execute(CommandLine.java:1056) ~[picocli-3.8.0.jar:3.8.0]

at picocli.CommandLine.access$900(CommandLine.java:142) ~[picocli-3.8.0.jar:3.8.0]

at picocli.CommandLine$RunLast.handle(CommandLine.java:1246) ~[picocli-3.8.0.jar:3.8.0]

at picocli.CommandLine$RunLast.handle(CommandLine.java:1214) ~[picocli-3.8.0.jar:3.8.0]

at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:1122) ~[picocli-3.8.0.jar:3.8.0]

at picocli.CommandLine.parseWithHandlers(CommandLine.java:1405) ~[picocli-3.8.0.jar:3.8.0]

at net.corda.cliutils.CordaCliWrapperKt.start(CordaCliWrapper.kt:73) ~[corda-tools-cliutils-4.1.jar:?]

 

at net.corda.node.Corda.main(Corda.kt:13) ~[corda-node-4.1.jar:?]

At the nodeInfo table in DB I can observe several nodeInfos rows