2012-03-30 2 views
0

Я узнал, что когда я подключаюсь отладчиком к приложению и начинаю отлаживать, потеряно соединение с терракотовым сервером (?), А в журналах терракотового сервера появляются следующие сообщения :Terracotta Ehcache: сервер отключается во время отладки

2012-03-30 13: 45: 06758 [L2_L1: TCComm Главный Selector Thread_R (слушать 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl. DSO-сервер - 127.0.0.1:55112 может быть в Long GC. GC count с последнего ответа ping: 1 2012-03-30 13: 45: 27,761 [L2_L1: главный селектор TCComm Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl. DSO-сервер - 127.0.0.1:55112 может быть в Long GC. GC count с последнего ответа ping: 1 2012-03-30 13: 45: 31,761 [L2_L1: главный селектор TCComm Thread_R (listen 0.0.0.0:9510)] WARN com.tc.net.protocol.transport.ConnectionHealthChecker Impl. DSO-сервер - 127.0.0.1:55112 может быть в Long GC. Количество GC с момента последнего пинг ответ: 2

...

2012-03-30 13: 46: 37768 [L2_L1: TCComm Главный Selector Thread_R (слушать 0.0.0.0:9510)] ERROR com.tc.net.protocol.transport.ConnectionHealthChecke rImpl. DSO-сервер - 127.0.0.1:55112 может быть в Long GC. GC count с последнего ответа ping: 10. Но это слишком долго. Больше нет попыток 2012-03-30 13: 46: 38,768 [HealthChecker] INFO com.tc.net.protocol.transport.ConnectionHealthCheckerImpl. ДСО Сервер - 127.0.0.1:55112 МЕРТВ 2012-03-30 13: 46: 38768 [HealthChecker] ОШИБКА com.tc.net.protocol.transport.ConnectionHealthCheckerImpl: ДСО Сервера - Заявлено соединение мертвых 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): ЗАКРЫТЬ СОБЫТИЕ: com.tc .net.core.TCConnectionJDK14 @ 5158277: connected: false, closed: true local = 127.0.0.1: 9510 remote = 127.0.0 .1: 55112 connect = [Пт мар 30 13:34:22 BST 2012] idle = 2001ms [207584 чтение, 229735 запись]. СТАТУС: ОТСОЕДИНЕННОМ

...

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: 38801 [WorkerThread (channel_life_cycle_stage, 0)] ИНФО 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(): Удаление txns из базы данных : 0

После этого произошло, любые операции с кэшем, как getWithLoader просто не отвечает, пока терракотовый сервер не будет перезапущен вновь.

Вопрос: как его можно зафиксировать/переконфигурировать?Я предполагаю, что это может произойти и в производстве (и на самом деле иногда случается), если для какой-либо (любой) причины приложение будет зависать/статично/и т. Д.

ответ

1

Это только для того, чтобы вы начали.

Соединения TC между сервером и клиентом считаются мертвыми, когда соответствующий запрос HealthCheck не работает. Значения по умолчанию для HealthCheck предполагают очень стабильную и эффективную сеть. Я рекомендую вам ознакомиться с деталями и расчетами на

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

Так обычно вы начинаете с а) убедившись, что ваша сеть не икота иногда б) установка ТС HealthCheck значения немного выше

Если проблема не решена, я рекомендую размещать сообщения непосредственно на форумах TC (они помогут вам, даже если вы используете только версию с открытым исходным кодом, может потребоваться несколько дней, чтобы ответить.

Смежные вопросы