Мы наблюдали непостоянные сетевые сбои при попытке настроить Infinispan на EC2 (крупные экземпляры) поверх Jgroups 3.1.0-FINAL, работающего на 64-разрядном Linux AMI от Amazon. Пустой кеш запускается нормально и, кажется, работает какое-то время, однако, как только кеш заполняется, синхронизация нового сервера приводит к блокировке кеша.
Мы решили накатить собственный кеш, но наблюдаем примерно такое же поведение. Десятки мегабайт обмениваются во время синхронизации, но они не передаются. На уровне приложения происходит обмен данными -> подтверждение подтверждения, но похоже, что часть сообщений никогда не достигает удаленного устройства.
При просмотре журнала трассировки UNICAST я вижу следующее:
# my application starts a cache refresh operation
01:02:12.003 [Incoming-1,mprewCache,i-f6a9d986] DEBUG c.m.e.q.c.l.DistributedMapManager - i-f6a9d986: from i-d2e29fa2: search:REFRESH
01:02:12.003 [Incoming-1,mprewCache,i-f6a9d986] INFO c.m.e.q.c.l.DistributedMapRequest - starting REFRESH from i-d2e29fa2 for map search, map-size 62373
01:02:12.003 [Incoming-1,mprewCache,i-f6a9d986] DEBUG c.m.e.q.c.l.DistributedMapManager - i-f6a9d986: to i-d2e29fa2: search:PUT_MANY, 50 keyValues
# transmits a block of 50 values to the remote but this never seems to get there
01:02:12.004 [Incoming-1,mprewCache,i-f6a9d986] TRACE o.j.p.UNICAST - i-f6a9d986 --> DATA(i-d2e29fa2: #11, conn_id=10)
# acks another window
01:02:12.004 [Incoming-1,mprewCache,i-f6a9d986] TRACE o.j.p.UNICAST - i-f6a9d986 --> ACK(i-d2e29fa2: #4)
# these XMITs happen for over and over until 01:30:40
01:02:12.208 [Timer-2,mprewCache,i-f6a9d986] TRACE o.j.p.UNICAST - i-f6a9d986 --> XMIT(i-d2e29fa2: #6)
01:02:12.209 [Timer-2,mprewCache,i-f6a9d986] TRACE o.j.p.UNICAST - i-f6a9d986 --> XMIT(i-d2e29fa2: #7)
01:02:12.209 [Timer-2,mprewCache,i-f6a9d986] TRACE o.j.p.UNICAST - i-f6a9d986 --> XMIT(i-d2e29fa2: #8)
...
Вот наш стек Jgroups. Мы заменяем протокол PING
во время выполнения нашей собственной версией EC2_PING
, которая использует вызовы AWS для поиска других кандидатов в члены кластера. Это не проблема с подключением.
Любые идеи, почему некоторые пакеты не доходят до места назначения?