Ich habe derzeit ein Problem mit meiner Jgroups-Konfiguration, die dazu führt, dass Tausende von Nachrichten in der NAKACK.xmit_table hängen bleiben. Eigentlich alle von ihnen scheinen in der xmit_table am Ende, und eine andere Deponie von einigen Stunden zeigt später, dass sie auch nie zu verlassen beabsichtigen ...JGroups Eating Speicher
Dies ist die Protokoll-Stack-Konfiguration
UDP(bind_addr=xxx.xxx.xxx.114;
bind_interface=bond0;
ip_mcast=true;ip_ttl=64;
loopback=false;
mcast_addr=228.1.2.80;mcast_port=45589;
mcast_recv_buf_size=80000;
mcast_send_buf_size=150000;
ucast_recv_buf_size=80000;
ucast_send_buf_size=150000):
PING(num_initial_members=3;timeout=2000):
MERGE2(max_interval=20000;min_interval=10000):
FD_SOCK:
FD(max_tries=5;shun=true;timeout=10000):
VERIFY_SUSPECT(timeout=1500):
pbcast.NAKACK(discard_delivered_msgs=true;gc_lag=50;retransmit_timeout=600,1200,2400,4800;use_mcast_xmit=true):
pbcast.STABLE(desired_avg_gossip=20000;max_bytes=400000;stability_delay=1000):UNICAST(timeout=600,1200,2400):
FRAG(frag_size=8192):pbcast.GMS(join_timeout=5000;print_local_addr=true;shun=true):
pbcast.STATE_TRANSFER
Startup Meldung ...
2010-03-01 23:40:05,358 INFO [org.jboss.cache.TreeCache] viewAccepted(): [xxx.xxx.xxx.35:51723|17] [xxx.xxx.xxx.35:51723, xxx.xxx.xxx.36:53088, xxx.xxx.xxx.115:32781, xxx.xxx.xxx.114:32934]
2010-03-01 23:40:05,363 INFO [org.jboss.cache.TreeCache] TreeCache local address is 10.35.191.114:32934
2010-03-01 23:40:05,393 INFO [org.jboss.cache.TreeCache] received the state (size=32768 bytes)
2010-03-01 23:40:05,509 INFO [org.jboss.cache.TreeCache] state was retrieved successfully (in 146 milliseconds)
... zeigt an, dass bis jetzt alles in Ordnung ist.
Die Protokolle, auf warn-Ebene bedeutet nicht, dass etwas nicht stimmt mit Ausnahme der occational
2010-03-03 09:59:01,354 ERROR [org.jgroups.blocks.NotificationBus] exception=java.lang.IllegalArgumentException: java.lang.NullPointerException
, die ich vermute, ich ist nicht verwandt, da sie ohne den Speicher Speicherproblem gesehen früher wurde.
Ich habe durch zwei Speicherabzüge von einer der Maschinen gegraben, um Kuriositäten zu finden, aber bis jetzt nichts. Mit Ausnahme vielleicht einige Statistiken aus den verschiedenen Protokollen
UDP hat
num_bytes_sent 53617832
num_bytes_received 679220174
num_messages_sent 99524
num_messages_received 99522
während NAKACK hat ...
num_bytes_sent 0
num_bytes_received 0
num_messages_sent 0
num_messages_received 0
... und eine riesige xmit_table.
Jede Maschine verfügt über zwei JChannel-Instanzen, eine für ehcache und eine für TreeCache. Eine Fehlkonfiguration bedeutet, dass beide die gleiche mcast-Adresse für die Diagnose verwenden, aber dies sollte kein Problem darstellen, wenn ich keine Diagnosemeldungen richtig senden möchte. Allerdings haben sie natürlich unterschiedliche mcast-Adressen für die Nachrichten.
Bitte fragen Sie nach Erklärungen, ich habe viele Informationen, aber ich bin ein wenig unsicher, was an dieser Stelle relevant ist.