Terracotta Ehcache:服务器在调试期间断开连接

时间:2012-03-30 13:08:23

标签: java debugging ehcache terracotta

我发现,当我通过调试器连接到应用程序并开始调试时, 与赤土陶器服务器的连接丢失(?)并且在兵马俑服务器日志中出现了下一条消息:

  

2012-03-30 13:45:06,758 [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主选择器Thread_R   (听0.0.0.0:9510)]警告   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主选择器Thread_R   (听0.0.0.0:9510)]警告   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] ERROR com.tc.net.protocol.transport.ConnectionHealthCheckerImpl:DSO   服务器 - 声明连接已死   ConnectionID(1.0b1994ac80f14b7191080bdc3f38582a)空闲时间45317ms   2012-03-30 13:46:38,768 [L2_L1:TCWorkerComm#0_R]警告   com.tc.net.protocol.transport.ServerMessageTransport -   ConnectionID(1.0b1994ac80f14b71 91080bdc3f38582a):关闭事件:   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 read,229735 write]。状态 :   DISCONNECTED

...

  

2012-03-30 13:46:38,799 [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 - :Received tran   运动断开。关闭客户端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)都无法应答,直到赤土陶器服务器不会再次重启。

问题:如何修复/重新配置?我认为,如果某些(任何)原因应用程序将挂起/ staled / etc,它也可能在生产中发生(实际上有时会发生)。

1 个答案:

答案 0 :(得分:1)

这只是为了让你入门。

当适用的HealthCheck失败时,服务器和客户端之间的TC连接被认为是死的。 HealthCheck的默认值假设一个非常稳定和高性能的网络。我建议您熟悉

的详细信息和计算方法

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

通常你会开始 a)确保您的网络偶尔不会打嗝 b)将TC HealthCheck值设置得更高

如果问题仍然存在,我建议直接在TC论坛上发帖(即使你只使用开源版,他们也会帮助你,但可能需要几天的时间来回复。