Frage

[hannel,192.168.0.46:40014] 15:08:03,642 - ERROR - org.jgroups.protocols.UDP - failed sending message to null (61 bytes)
java.lang.Exception: dest=/225.1.2.46:30446 (64 bytes)
    at org.jgroups.protocols.UDP._send(UDP.java:333)
    at org.jgroups.protocols.UDP.sendToAllMembers(UDP.java:283)
    at org.jgroups.protocols.TP.doSend(TP.java:1327)
    at org.jgroups.protocols.TP.send(TP.java:1317)
    at org.jgroups.protocols.TP.down(TP.java:1038)
    at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:220)
    at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java:214)
    at org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:385)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
    at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.InterruptedIOException: operation interrupted
    at java.net.PlainDatagramSocketImpl.send(Native Method)
    at java.net.DatagramSocket.send(DatagramSocket.java:612)
    at org.jgroups.protocols.UDP._send(UDP.java:324)
    ... 16 more

Dies geschieht während des Belastungstests auf dem Server. Muss ich mir Sorgen darüber. Abgesehen von dieser Nachricht im Protokoll immer, scheint alles in Ordnung zu arbeiten.

War es hilfreich?

Lösung

Als Reaktion auf matt b, die „nicht bestanden Nachricht sendet auf null“ Nachricht irreführend ist. Das wahre Problem ist die InterruptedIOException. Dies bedeutet, dass jemand genannt Interrupt () auf dem Thread, die UDP sendete. Höchstwahrscheinlich wird die Unterbrechung innerhalb JGroups erzeugt. (Es sei denn, Sie begonnen, und dann gestoppt den JGroups Kanal.)

Mit Blick auf dem Stack-Trace, die unterbrochenen I / O wurde von einem Discovery-Protokoll. Es wurde versucht, andere Cluster-Mitglieder zu entdecken. Somit wurde keine Nachricht von Ihnen von dieser Ausnahme verloren.

Wir müssten mehr wissen, um wirklich diese eine heraus.

Andere Tipps

Senden auf „null“ bedeutet, auf den gesamten Cluster sendet, im Vergleich zu einer Nachricht an ein einzelnes Mitglied sendet. Ich bin damit einverstanden, das ist ein wenig irreführend ist, also habe ich diese in späteren Version: IIRC „null“ wurde mit „Cluster“ oder „Gruppe“ ersetzt

.

„null“ hier an das Ziel genannt: eine Nullzieladresse bedeutet für den gesamten Cluster senden

.

Die InterruptedIOException kommt vom Absender-Thread durch JGroups gestoppt wird; Dies geschieht zum Beispiel, wenn wir schon genug Antworten in der Entdeckungsphase zurückzukehren, und so der Sendeauftrag angehalten haben (dh., unterbrochen).

Dies wurde auch in späteren Versionen von JGroups fixiert. Bela

Ist es möglich, dass Sie eine Fehlermeldung erhalten, weil Sie eine Nachricht senden, auf „Null“?

  

ERROR - org.jgroups.protocols.UDP - fehlgeschlagen Nachricht sendet auf null

Ansonsten ist es wahrscheinlich ziemlich schwer für jemand anderen um Ihnen zu helfen mit, ohne Code-Beispiele, Informationen in Ihrem Netzwerk, die spezifische Situation, wo Ihr Problem auftritt, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top