2012-03-30 63 views
0

我發現,當我通過調試程序連接到應用程序,並開始調試, 與兵馬俑服務器的連接丟失(?),並在兵馬俑服務器日誌中顯示下一條消息:兵馬俑Ehcache:在調試期間服務器斷開連接

2012-03-30 13:45:06758 [L2_L1:TCComm主選擇器Thread_R(聽 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker默認地將Impl。 DSO服務器 - 127.0.0.1:55112可能位於Long GC中。自上次ping回覆後的GC計數:1 2012-03-30 13:45:27,761 [L2_L1:TCComm Main Selector Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl。 DSO服務器 - 127.0.0.1:55112可能位於Long GC中。自上次ping回覆後的GC計數:1 2012-03-30 13:45:31,761 [L2_L1:TCComm Main Selector Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl。 DSO服務器 - 127.0.0.1:55112可能位於Long GC中。自去年ping回覆GC數:2

...

2012-03-30 13:46:37,768條[L2_L1:TCComm主要選擇Thread_R(聽 0.0.0.0:9510)錯誤com.tc.net.protocol.transport.ConnectionHealthChecke rImpl。 DSO服務器 - 127.0.0.1:55112可能位於Long GC中。自上次ping回覆後的GC計數:10.但時間太長。沒有更多的重試2012-03-30 13:46:38,768 [HealthChecker]信息 com.tc.net.protocol.transport.ConnectionHealthCheckerImpl。 DSO服務器 - 127.0.0.1:55112是DEAD 2012-03-30 13:46:38,768 [HealthChecker]錯誤com.tc.net.protocol.transport.ConnectionHealthCheckerImpl:DSO 服務器 - 聲明的連接已關閉 ConnectionID(1.0b1994ac80f14b7191080bdc3f38582a)空閒時間45317ms 2012-03-30 13:46:38768 [L2_L1:TCWorkerComm#0_R] WARN com.tc.net.protocol.transport.ServerMessageTransport - 的ConnectionId(1.0b1994ac80f14b71 91080bdc3f38582a):CLOSE EVENT: com.tc .net.core.TCConnectionJDK14 @ 5158277:connected:false,closed: true local = 127.0.0.1:9510 remote = 127.0.0 .1:55112 connect = [Fri Mar 30 13:34:22 BST 2012] idle = 2001ms [207584閱讀,229735寫作]。 STATUS: DISCONNECTED

...

2012-03-30 13:46:38799 [L2_L1:TCWorkerComm#0_R] INFO com.tc.objectserver.persistence.sleepycat.SleepycatPersistor - 刪除 客戶端狀態爲ChannelID = [1] 2012-03-30 13:46:38,801 [WorkerThread(channel_life_cycle_stage,0)] INFO com.tc.objectserver.handler.ChannelLifeCycleHandler - :收到傳送 運動斷開連接。關閉客戶端ClientID [1] 2012-03-30 13:46:38,801 [WorkerThread(channel_life_cycle_stage,0)] INFO com.tc.objectserver.persistence.impl.TransactionStoreImpl - shutdownC lient():從DB中刪除txns :0

發生這種情況後,任何有緩存的操作,如getWithLoader只是不回答,直到兵馬俑服務器不會重新啓動。

問題:如何修復/重新配置?我認爲,如果某些(任何)原因應用程序掛起/盯着/等等,它也可能發生在生產中(實際上有時會發生)。

回答

1

這只是爲了讓你開始。

當適用的HealthCheck失敗時,服務器和客戶端之間的TC連接將被視爲無效。 HealthCheck的默認值假定一個非常穩定和高性能的網絡。我建議你熟悉的細節和計算上

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

所以通常你開始 一)確保您的網絡不打嗝偶爾 B)設置TC值健康檢查高一點

如果問題仍然存在,我建議直接在TC論壇上發帖(即使您只使用開源版本,他們也會幫助您,但可能需要幾天的時間才能回覆。)