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

Abhängigkeit des Nodes zur Senderanbindung aufgeben #101

Closed dh3wr closed 7 years ago

dh3wr commented 7 years ago

Mal so ne Idee: Eigentlich könnten sich die Sender auch bei einem beliebigen Node anmelden, oder? Macht natürlich Konsistenz-Probleme, wenn sich einer 2. Mal anmeldet usw. Nur mal so als Idee. Der Unipager könnte dann eine RoundRobin-Liste von Nodes haben und wenn einer ausfällt, wird der nächste probiert. Prio: C bis D

Taronyu commented 7 years ago

Wir begrenzen das momentan künstlich auf einen Knoten, mir fällt aber kein Grund ein, warum das erforderlich sein sollte. Von mir aus können wir das ändern. Das würde auch an einigen Stellen zu Vereinfachungen führen, da man nicht mehr zwischen eigenen und fremden Sendern unterscheiden müsste.

dh3wr commented 7 years ago

Dann machen wir das doch, oder? Dann muss auch das Webinterface angepasst werden. Ich mache ein Issue auf.

dh3wr commented 7 years ago

Aber als speichern, wo der Sender gerade eingewählt ist, könnten wir schon noch. Zur Info und auch für die Liniendarstellung auf dem Webinterface. Das wird dann quasi Read only.

Taronyu commented 7 years ago

Ich habe es mal umgebaut, ist bestimmt jetzt alles kaputt.

Taronyu commented 7 years ago

Das ist im experimental Branch gepusht, hatte ich vergessen zu erwähnen.

menzerath commented 7 years ago
Request URL:http://44.225.164.228:8080/transmitters/db0sda
Request Method:PUT
Status Code:500 Internal Server Error
{"authKey":"test1234","latitude":50.77623,"longitude":6.06937,"power":"0","usage":"PERSONAL","antennaAboveGroundLevel":0,"antennaType":"OMNI","antennaDirection":0,"antennaGainDbi":0,"identificationAddress":1,"timeSlot":"34","ownerNames":["admin"]}
{
  "code": 5001,
  "name": "Internal Server Error",
  "message": "A unknown server-side error occurred while executing the request"
}
dh3wr commented 7 years ago
14:39:49.754 [grizzly-http-server-0] INFO  org.dapnet.core.rest.CustomLoggingFilter - REST PUT Request : User: admin - Path: transmitters/db0sda - Header: {host=[44.225.164.228:8080], connection=[keep-alive], content-length=[247], accept=[application/json, text/plain, */*], origin=[http://localhost:8081], user-agent=[Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36], authorization=[Basic YWRtaW46YWRtaW4=], content-type=[application/json;charset=UTF-8], referer=[http://localhost:8081/], accept-encoding=[gzip, deflate, sdch], accept-language=[de,en-US;q=0.8,en;q=0.6]} - Entity: {"authKey":"test1234","latitude":50.77623,"longitude":6.06937,"power":"0","usage":"PERSONAL","antennaAboveGroundLevel":0,"antennaType":"OMNI","antennaDirection":0,"antennaGainDbi":0,"identificationAddress":1,"timeSlot":"34","ownerNames":["admin"]}
14:39:49.775 [grizzly-http-server-0] INFO  org.dapnet.core.cluster.ClusterManager - Cluster has Quorum
14:39:49.797 [grizzly-http-server-0] ERROR org.dapnet.core.rest.exceptionHandling.ExceptionHandler - PUT transmitters/db0sda - Internal Server Error (5001)
javax.validation.ValidationException: HV000090: Unable to access getNode.
        at org.hibernate.validator.internal.util.ReflectionHelper.getValue(ReflectionHelper.java:252) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.getBeanMemberValue(ValidatorImpl.java:1750) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validateMetaConstraint(ValidatorImpl.java:614) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:583) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForSingleDefaultGroupElement(ValidatorImpl.java:527) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:495) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:460) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:410) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:207) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        at org.dapnet.core.rest.resources.AbstractResource.validateObject(AbstractResource.java:120) ~[dapnet-core-1.1.3.6-SNAPSHOT.jar:1.1.3.6-SNAPSHOT]
        at org.dapnet.core.rest.resources.AbstractResource.handleObject(AbstractResource.java:147) ~[dapnet-core-1.1.3.6-SNAPSHOT.jar:1.1.3.6-SNAPSHOT]
        at org.dapnet.core.rest.resources.TransmitterResource.putTransmitter(TransmitterResource.java:97) ~[dapnet-core-1.1.3.6-SNAPSHOT.jar:1.1.3.6-SNAPSHOT]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) ~[jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) [jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [jersey-common-2.25.1.jar:?]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [jersey-common-2.25.1.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [jersey-common-2.25.1.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [jersey-common-2.25.1.jar:?]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [jersey-common-2.25.1.jar:?]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [jersey-common-2.25.1.jar:?]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) [jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) [jersey-server-2.25.1.jar:?]
        at org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:384) [jersey-container-grizzly2-http-2.25.1.jar:?]
        at org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:224) [grizzly-http-server-2.3.28.jar:2.3.28]
        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:593) [grizzly-framework-2.3.28.jar:2.3.28]
        at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:573) [grizzly-framework-2.3.28.jar:2.3.28]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.hibernate.validator.internal.util.ReflectionHelper.getValue(ReflectionHelper.java:246) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        ... 37 more
Caused by: java.lang.NullPointerException
        at org.dapnet.core.model.Transmitter.getNode(Transmitter.java:478) ~[dapnet-core-1.1.3.6-SNAPSHOT.jar:1.1.3.6-SNAPSHOT]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_131]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_131]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.hibernate.validator.internal.util.ReflectionHelper.getValue(ReflectionHelper.java:246) ~[hibernate-validator-5.3.5.Final.jar:5.3.5.Final]
        ... 37 more
14:39:49.806 [grizzly-http-server-0] ERROR org.dapnet.core.rest.CustomLoggingFilter - REST PUT Response : Header: {Content-Type=[application/json], Access-Control-Allow-Origin=[*], Access-Control-Allow-Headers=[Origin, X-Requested-With, Content-Type, Accept, Key, Authorization], Access-Control-Allow-Methods=[GET, POST, PUT, DELETE]} - Entity: {  "code": 5001,  "name": "Internal Server Error",  "message": "A unknown server-side error occurred while executing the request"}
dh3wr commented 7 years ago

Zur Zeit geht alles. Können wir das zumachen?

Taronyu commented 7 years ago

Kann sein, ich bin mir nicht sicher, ob das nur ein temporäres Problem war oder was gefixt wurde. Kann man ja sonst auch wieder aufmachen.

dh3wr commented 7 years ago

Kann zu, geht alles