2012-03-30 21 views
0

Ich fand heraus, dass, wenn ich durch Debugger mit der Anwendung verbinden und zu debuggen, die Verbindung zu Terracotta-Server verloren ist (?) Und in den Terracotta-Server-Protokolle nächste Nachrichten angezeigt werden :Terracotta Ehcache: Server trennt während des Debuggens

2012-03-30 13: 45: 06.758 [L2_L1: TCComm Haupt Selector Thread_R (hören 0.0.0.0:9510)] com.tc.net.protocol.transport.ConnectionHealthChecker Impl WARN. DSO Server - 127.0.0.1:55112 könnte in Long GC sein. GC Count seit der letzten Ping-Antwort: 1 2012-03-30 13: 45: 27.761 [L2_L1: TCComm Hauptauswahl Thread_R (hören 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl. DSO Server - 127.0.0.1:55112 könnte in Long GC sein. GC Count seit der letzten Ping-Antwort: 1 2012-03-30 13: 45: 31,761 [L2_L1: TCComm Hauptauswahl Thread_R (hören 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl. DSO Server - 127.0.0.1:55112 könnte in Long GC sein. GC Zählung seit dem letzten Ping-Antwort: 2

...

2012-03-30 13: 46: 37.768 [L2_L1: TCComm Haupt Selector Thread_R (hören 0.0.0.0:9510)] FEHLER com.tc.net.protocol.transport.ConnectionHealthChecke rImpl. DSO Server - 127.0.0.1:55112 könnte in Long GC sein. GC Count seit der letzten Ping-Antwort: 10. Aber es ist zu lang. Keine weiteren Versuche. 2012-03-30 13: 46: 38,768 [HealthChecker] INFO com.tc.net.protocol.transport.ConnectionHealthCheckerImpl. DSO Server - 127.0.0.1:55112 ist DEAD 2012-03-30 13: 46: 38.768 [HealthChecker] ERROR com.tc.net.protocol.transport.ConnectionHealthCheckerImpl: DSO Server - Angegebene Verbindung tot ConnectionID (1.0b1994ac80f14b7191080bdc3f38582a) Leerlaufzeit 45317ms 2012-03-30 13: 46: 38.768 [L2_L1: TCWorkerComm # 0_R] WARN com.tc.net.protocol.transport.ServerMessageTransport - ConnectionID (1.0b1994ac80f14b71 91080bdc3f38582a): SCHLIEßEN EVENT: com.tc .net.core.TCConnectionJDK14 @ 5158277: verbunden: false, closed: true local = 127.0.0.1: 9510 remote = 127.0.0 .1: 55112 connect = [Fr Mär 30 13:34:22 BST 2012] idle = 2001ms [207584 lesen, 229735 schreiben]. STATUS: DISCONNECTED

...

2012-03-30 13: 46: 38.799 [L2_L1: TCWorkerComm # 0_R] INFO com.tc.objectserver.persistence.sleepycat.SleepycatPersistor - gelöschte Client Zustand fo r ChannelID = [1] 2012-03-30 13: 46: 38.801 [WorkerThread (channel_life_cycle_stage, 0)] INFO com.tc.objectserver.handler.ChannelLifeCycleHandler -: Empfangene tran Sport Trennen. Herunterfahren des Clients ClientID [1] 2012-03-30 13: 46: 38,801 [WorkerThread (channel_life_cycle_stage, 0)] INFO com.tc.objectserver.persistence.impl.TransactionStoreImpl - shutdownC lient(): Entfernen von txns aus der DB : 0

Danach wird geschehen, jeden Betrieb mit Cache, wie getWithLoader einfach nicht beantworten, bis Terrakotta-Server wird nicht wieder neu gestartet werden.

Frage: wie kann es repariert/rekonfiguriert werden?Ich nehme an, dass es in der Produktion auch passieren kann (und tatsächlich manchmal passiert), wenn für irgendeinen Grund Anwendung hängt/staled/etc.

Antwort

1

Dies ist nur, um loszulegen.

TC-Verbindungen zwischen Server und Client gelten als ungültig, wenn das entsprechende HealthCheck fehlschlägt. Die Standardwerte für den HealthCheck setzen ein sehr stabiles und performantes Netzwerk voraus. Ich empfehle Ihnen, sich mit den Details vertraut machen und die Berechnungen auf

http://www.terracotta.org/documentation/3.5.2/terracotta-server-array/high-availability#85916

So Regel beginnen Sie mit a) sicherstellen, dass Ihr Netzwerk nicht gelegentlich b hat Schluckauf) der TC Health Einstellung etwas höhere Werte

Wenn das Problem weiterhin besteht, würde ich empfehlen, direkt in den TC-Foren zu posten (sie werden Ihnen helfen, auch wenn Sie nur die Open-Source-Edition verwenden, kann ein paar Tage dauern, um zu antworten.