DecentralizedAmateurPagingNetwork / Core

The DAPNET Core is the core application of DAPNET, responsible for handling transmitter clients, clustering, and providing the REST API.
https://www.afu.rwth-aachen.de/projekte/funkruf-pager-pocsag/funkrufmaster-2-0-dapnet
42 stars 11 forks source link

Core is stopping #134

Closed dh3wr closed 6 years ago

dh3wr commented 7 years ago

Wir müssen mal was dagegen machen, dass sich die Cores stoppen:

18:58:49.913 [ViewHandler] INFO  org.dapnet.core.transmission.TransmitterServer - Server stopped.
18:58:49.914 [Incoming-2,DAPNET1.1.3.9-SNAPSHOT,db0sda] INFO  org.dapnet.core.cluster.RpcListener - UpdateNodeStatus db0sda to SUSPENDED: OK
18:58:52.938 [ViewHandler] INFO  org.dapnet.core.model.State - Successfully wrote state to file
18:58:52.938 [ViewHandler] INFO  org.dapnet.core.DAPNETCore - DAPNETCore stopped
18:58:52.943 [ShutdownHook] INFO  org.dapnet.core.DAPNETCore - Stopping DAPNETCore ...
18:58:52.943 [ShutdownHook] INFO  org.dapnet.core.rest.RestManager - RestApi successfully stopped.
18:58:52.943 [ShutdownHook] INFO  org.dapnet.core.scheduler.SchedulerManager - SchedulerManager successfully stopped
18:58:52.943 [ShutdownHook] INFO  org.dapnet.core.transmission.TransmitterServer - Server stopped.
18:58:52.944 [ShutdownHook] ERROR org.dapnet.core.cluster.ClusterManager - Catching
java.lang.IllegalStateException: channel is not connected
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.down(MessageDispatcher.java:682) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.RequestCorrelator.sendRequest(RequestCorrelator.java:172) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.GroupRequest.sendRequest(GroupRequest.java:319) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.GroupRequest.sendRequest(GroupRequest.java:75) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.Request.execute(Request.java:67) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.MessageDispatcher.cast(MessageDispatcher.java:373) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.MessageDispatcher.cast(MessageDispatcher.java:386) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.MessageDispatcher.castMessage(MessageDispatcher.java:272) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:153) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:122) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.dapnet.core.cluster.ClusterManager.handleStateOperation(ClusterManager.java:228) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.cluster.ClusterManager.updateNodeStatus(ClusterManager.java:244) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.cluster.ClusterManager.handleDisconnectedFromAllTransmitters(ClusterManager.java:283) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.transmission.TransmitterManager.disconnectFromAll(TransmitterManager.java:200) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.cluster.ClusterManager.stop(ClusterManager.java:162) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.DAPNETCore.stop(DAPNETCore.java:110) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.DAPNETCore.access$100(DAPNETCore.java:32) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.DAPNETCore$1.run(DAPNETCore.java:133) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
18:58:52.945 [ShutdownHook] FATAL org.dapnet.core.cluster.ClusterManager - Insecure Cluster State
18:58:52.951 [ShutdownHook] INFO  org.dapnet.core.model.State - Successfully wrote state to file
18:58:52.951 [ShutdownHook] INFO  org.dapnet.core.DAPNETCore - DAPNETCore stopped

und auch bei anderen Konten, hier db0wa:

18:58:01.649 [TransferQueueBundler,DAPNET1.1.3.9-SNAPSHOT,db0wa] ERROR org.jgroups.protocols.TCP - JGRP000036: db0wa: exception sending bundled msgs: java.net.SocketTimeoutException: connect timed out
java.net.SocketTimeoutException: connect timed out
        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_111]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_111]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[?:1.8.0_111]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_111]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_111]
        at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_111]
        at org.jgroups.util.Util.connect(Util.java:411) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.cs.TcpConnection.connect(TcpConnection.java:101) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.cs.TcpConnection.connect(TcpConnection.java:91) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.cs.BaseServer.getConnection(BaseServer.java:271) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.cs.BaseServer.send(BaseServer.java:184) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.TCP.send(TCP.java:60) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.BasicTCP.sendUnicast(BasicTCP.java:128) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.TP.sendToSingleMember(TP.java:1970) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.TP.doSend(TP.java:1958) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.BaseBundler.sendMessageList(BaseBundler.java:129) [jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.BaseBundler.sendBundledMessages(BaseBundler.java:88) [jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.protocols.TransferQueueBundler.run(TransferQueueBundler.java:105) [jgroups-3.6.13.Final.jar:3.6.13.Final]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
18:58:03.323 [ViewHandler] INFO  org.dapnet.core.model.State - Successfully wrote state to file
18:58:03.324 [ViewHandler] INFO  org.dapnet.core.DAPNETCore - DAPNETCore stopped
18:58:03.339 [ShutdownHook] INFO  org.dapnet.core.DAPNETCore - Stopping DAPNETCore ...
18:58:03.344 [ShutdownHook] INFO  org.dapnet.core.rest.RestManager - RestApi successfully stopped.
18:58:03.345 [ShutdownHook] INFO  org.dapnet.core.scheduler.SchedulerManager - SchedulerManager successfully stopped
18:58:03.345 [ShutdownHook] INFO  org.dapnet.core.transmission.TransmitterServer - Server stopped.
18:58:03.347 [ShutdownHook] ERROR org.dapnet.core.cluster.ClusterManager - Catching
java.lang.IllegalStateException: channel is not connected
        at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.down(MessageDispatcher.java:682) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.RequestCorrelator.sendRequest(RequestCorrelator.java:172) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.GroupRequest.sendRequest(GroupRequest.java:319) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.GroupRequest.sendRequest(GroupRequest.java:75) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.Request.execute(Request.java:67) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.MessageDispatcher.cast(MessageDispatcher.java:373) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.MessageDispatcher.cast(MessageDispatcher.java:386) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.MessageDispatcher.castMessage(MessageDispatcher.java:272) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:153) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.jgroups.blocks.RpcDispatcher.callRemoteMethods(RpcDispatcher.java:122) ~[jgroups-3.6.13.Final.jar:3.6.13.Final]
        at org.dapnet.core.cluster.ClusterManager.handleStateOperation(ClusterManager.java:228) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.cluster.ClusterManager.updateNodeStatus(ClusterManager.java:244) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.cluster.ClusterManager.handleDisconnectedFromAllTransmitters(ClusterManager.java:283) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.transmission.TransmitterManager.disconnectFromAll(TransmitterManager.java:200) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.cluster.ClusterManager.stop(ClusterManager.java:162) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.DAPNETCore.stop(DAPNETCore.java:110) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.DAPNETCore.access$100(DAPNETCore.java:32) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
        at org.dapnet.core.DAPNETCore$1.run(DAPNETCore.java:133) [dapnet-core.jar:1.1.3.9-SNAPSHOT]
18:58:03.355 [ShutdownHook] FATAL org.dapnet.core.cluster.ClusterManager - Insecure Cluster State
18:58:03.526 [ShutdownHook] INFO  org.dapnet.core.model.State - Successfully wrote state to file
18:58:03.527 [ShutdownHook] INFO  org.dapnet.core.DAPNETCore - DAPNETCore stopped
root@db0wa:/opt/Core/local#
Taronyu commented 7 years ago

Beim ersten Core sehe ich nicht, warum der stoppt. Der zweite Core konnte sich nicht zum Cluster verbinden, das Connect ist in ein Timeout gelaufen (Firewall, instabile Verbindung usw). Dass die Exception da am Ende kommt, sollte aber auch so nicht sein. Da wird versucht, noch irgendetwas mit dem Channel zu machen, obwohl der nicht verbunden ist.

Taronyu commented 7 years ago

So, die Exception beim Herunterfahren sollte jetzt auch nicht mehr kommen. Das Trennen der verbundenen Transmitter wurde an die Gruppe weitergegeben, das funktioniert natürlich nicht, wenn der Knoten gar nicht verbunden ist.

dh3wr commented 6 years ago

Ist nicht wieder aufgetreten, ich mach das hier mal zu.