2012-03-30 64 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论坛上发帖(即使您只使用开源版本,他们也会帮助您,但可能需要几天的时间才能回复。)