Giter Club home page Giter Club logo

corda-rpc-cli's People

Contributors

mz0 avatar

Watchers

 avatar  avatar

corda-rpc-cli's Issues

do not try closing connection on shutdown

turning down 8 nodes

$ ./gradlew run --args="down"
Starting a Gradle Daemon (subsequent builds will be faster)

> Task :compileKotlin
w: /home/mz0/R3/nrpcc2/src/main/kotlin/nrpcc/App.kt: (18, 9): Variable 'n0' is never used
w: /home/mz0/R3/nrpcc2/src/main/kotlin/nrpcc/App.kt: (20, 9): Variable 'n2' is never used

> Task :run
Shutting node O=Party1, L=Rome, C=IT down.
Shutting node O=Party3, L=Kiev, C=UA down.
Shutting node O=Party4, L=Baku, C=AZ down.
Shutting node O=Party5, L=Riga, C=LV down.
Shutting node O=Party7, L=Suva, C=FJ down.
Shutting node O=Party6, L=Lima, C=PE down.
Shutting node O=Party8, L=Doha, C=QA down.
Shutting node O=Party9, L=Bern, C=CH down.
1580841115265 Closing RPC connection
1580841115265 Closing RPC connection
1580841115265 Closing RPC connection
1580841205286 Closing RPC connection
1580841205286 Closing RPC connection
1580841205298 Closing RPC connection
1580841205300 Closing RPC connection
21:33:25.301 [Thread-8 (ActiveMQ-client-global-threads)] ERROR net.corda.client.rpc.internal.RPCClientProxyHandler - Could not reconnect to the RPC server.
21:33:25.303 [Thread-6 (ActiveMQ-client-global-threads)] ERROR net.corda.client.rpc.internal.RPCClientProxyHandler - Could not reconnect to the RPC server.
21:33:25.304 [Thread-5 (ActiveMQ-client-global-threads)] ERROR net.corda.client.rpc.internal.RPCClientProxyHandler - Could not reconnect to the RPC server.
21:33:25.300 [Thread-7 (ActiveMQ-client-global-threads)] ERROR net.corda.client.rpc.internal.RPCClientProxyHandler - Could not reconnect to the RPC server.
1580841205332 Closing RPC connection
21:33:25.333 [Thread-11 (ActiveMQ-client-global-threads)] ERROR net.corda.client.rpc.internal.RPCClientProxyHandler - Could not reconnect to the RPC server.

graceful degradation when node drops connection

Exception in thread "main" java.util.concurrent.ExecutionException: net.corda.client.rpc.ConnectionFailureException: Connection failure
detected.
        at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
        at net.corda.core.internal.concurrent.CordaFutureImpl.get(CordaFutureImpl.kt)
        at nrpcc.RpcCmdr.exec(Client.kt:86)
        at nrpcc.RpcCmdr.cmd(Client.kt:32)
        at nrpcc.AppKt$main$1$doResume$$inlined$forEach$lambda$1.doResume(App.kt:37)

Actual error was registered on node as:

Message exceeds maxMessageSize network parameter, maxMessageSize: [10485760], message size: [17321505]

as a result from running ./gradlew run --args="exec CheckN testSize: 1024000"

better error when command is wrong

$ ./gradlew run --args="CheckND"

> Task :run FAILED
Exception in thread "main" java.lang.IllegalArgumentException: No enum constant nrpcc.Command.CheckND
        at java.lang.Enum.valueOf(Enum.java:238)
        at nrpcc.Command.valueOf(Client.kt)
        at nrpcc.AppKt.main(App.kt:13)

FAILURE: Build failed with an exception.

graceful degradation when some or all nodes are down (cannot be connected)

most nodes down:

Exception in thread "main" java.lang.IllegalArgumentException: Cannot connect to cordahost.example.net:10022
        at nrpcc.RpcCmdr.getSelfID(Client.kt:58)
        at nrpcc.RpcCmdr.access$getSelfID(Client.kt:22)
        at nrpcc.RpcCmdr$me$2.invoke(Client.kt:27)
        at nrpcc.RpcCmdr$me$2.invoke(Client.kt:22)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
        at nrpcc.RpcCmdr.getMe(Client.kt)
        at nrpcc.RpcCmdr.cmd(Client.kt:40)
        at nrpcc.AppKt$main$1$doResume$$inlined$forEach$lambda$1.doResume(App.kt:37)
        at kotlin.coroutines.experimental.jvm.internal.CoroutineImpl.resume(CoroutineImpl.kt:42)
        at kotlinx.coroutines.experimental.DispatchedTask$DefaultImpls.run(Dispatched.kt:149)
        at kotlinx.coroutines.experimental.DispatchedContinuation.run(Dispatched.kt:13)
        at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
        Suppressed: java.lang.IllegalArgumentException: Cannot connect to cordahost.example.net:10002
                ... 16 more
        Suppressed: java.lang.IllegalArgumentException: Cannot connect to cordahost.example.net:10012
                ... 16 more
        [CIRCULAR REFERENCE:java.lang.IllegalArgumentException: Cannot connect to cordahost.example:10002]
        [CIRCULAR REFERENCE:java.lang.IllegalArgumentException: Cannot connect to cordahost.example:10012]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.