【问题标题】:Terracotta Ehcache: server disconnects during debugTerracotta Ehcache:调试期间服务器断开连接
【发布时间】:2012-03-30 13:08:22
【问题描述】:

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

2012-03-30 13:45:06,758 [L2_L1:TCComm 主选择器线程_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 (听 0.0.0.0:9510)] 警告 com.tc.net.protocol.transport.ConnectionHealthChecker 实现。 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 (听 0.0.0.0:9510)] 警告 com.tc.net.protocol.transport.ConnectionHealthChecker 实现。 DSO 服务器 - 127.0.0.1:55112 可能在 Long GC 中。自上次 ping 回复以来的 GC 计数:2

...

2012-03-30 13:46:37,768 [L2_L1:TCComm 主选择器线程_R(听 0.0.0.0:9510)] 错误 com.tc.net.protocol.transport.ConnectionHealthCheckerImpl。 DSO 服务器 - 127.0.0.1:55112 可能在 Long GC 中。自上次 ping 回复以来的 GC 计数:10。但它太长了。不再重试 2012-03-30 13:46:38,768 [健康检查器] 信息 com.tc.net.protocol.transport.ConnectionHealthCheckerImpl。 DSO 服务器 - 127.0.0.1:55112 已死 2012-03-30 13:46:38,768 [HealthChecker] 错误 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:已连接:false,已关闭: 真正的本地=127.0.0.1:9510 远程=127.0.0 .1:55112 连接=[3 月 30 日星期五 13:34:22 BST 2012] 空闲 = 2001 毫秒 [207584 读取,229735 写入]。状态 : 已断开连接

...

2012-03-30 13:46:38,799 [L2_L1:TCWorkerComm # 0_R] 信息 com.tc.objectserver.persistence.sleepycat.SleepycatPersistor - 已删除 ChannelID=[1] 2012-03-30 13:46:38,801 的客户端状态 [WorkerThread(channel_life_cycle_stage, 0)] 信息 com.tc.objectserver.handler.ChannelLifeCycleHandler - : 收到 tran 运动断开。关闭客户端ClientID[1] 2012-03-30 13:46:38,801 [WorkerThread(channel_life_cycle_stage, 0)] 信息 com.tc.objectserver.persistence.impl.TransactionStoreImpl - shutdownC lient() :从数据库中删除 txns :0

发生这种情况后,任何带有缓存的操作,例如getWithLoader 都不会响应,直到兵马俑服务器不会再次重新启动。

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

【问题讨论】:

    标签: java debugging ehcache terracotta


    【解决方案1】:

    这只是为了让您入门。

    当适用的 HealthCheck 失败时,服务器和客户端之间的 TC 连接被视为已失效。 HealthCheck 的默认值假设一个非常稳定和高性能的网络。我建议你熟悉一下细节和计算

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

    所以通常你从 a) 确保您的网络不会偶尔出现故障 b) 将 TC HealthCheck 值设置得高一点

    如果问题仍然存在,我建议您直接在 TC 论坛上发帖(即使您只使用开源版本,它们也会为您提供帮助,不过可能需要几天时间才能回复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      相关资源
      最近更新 更多