Infinispan v9.4.18 Сообщается об исключении из консоли Hotrod InvalidMagicIdException

#infinispan #infinispan-9 #hot-rod

#infinispan #infinispan-9 #горячий стержень

Вопрос:

Я пытаюсь настроить удаленный кэш путем экстернализации сервера Infinispan из Keycloak, используя режим репликации между центрами обработки данных. Я следую официальной документации Keycloak здесьhttps://www.keycloak.org/docs/latest/server_installation/#crossdc-mode

Согласно документации, используются версии Keycloak и Infinispan следующим образом (я надеюсь, что эти версии совместимы друг с другом, поскольку эта информация поступает с официального сайта Keycloak. сайт) —

Версия Keycloak — 11.0.2 Версия Infinispan — 9.4.18

К моему удивлению, я обнаружил ошибку в Infinispan V9.4.18. С сервера infinispan постоянно сообщается о приведенном ниже исключении.

Я загрузил сервер Infinispan (версия infinispan-server-9.4.18) с их официального сайтаhttps://downloads.jboss.org/infinispan/9.4.18.Final/infinispan-server-9.4.18.Final.zip Без внесения каких-либо изменений в какой-либо файл конфигурации infinispan, когда я загружаю сервер Infinispan, он запускается без каких-либо проблем, но когда я пытаюсь вызвать консоль Hotrod наhttp://127.0.0.1:11222 (11222 — это порт, через который hotrod прослушивает мой локальный хост), он не загружается. Я получаю проблему, как показано ниже :

 ¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 71
¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 69
¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 84
¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 32
¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 47
¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 32
¡�P�`org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or 
  

В консоли сервера исключение выглядит следующим образом :

 18:41:28,551 ERROR [org.infinispan.server.hotrod.BaseRequestProcessor] (HotRod-ServerIO-4-1) ISPN005003: Exception reported: org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 71
    at org.infinispan.server.hotrod.HotRodDecoder.switch0(HotRodDecoder.java:208)
    at org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:153)
    at org.infinispan.server.hotrod.HotRodDecoder.decode(HotRodDecoder.java:143)
    at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:498)
    at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:437)
    at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
    at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
    at org.infinispan.server.core.transport.StatsChannelHandler.channelRead(StatsChannelHandler.java:26)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377)
    at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:363)
    at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:748)

18:41:28,593 ERROR [org.infinispan.server.hotrod.BaseRequestProcessor] (HotRod-ServerIO-4-1) ISPN005003: Exception reported: org.infinispan.server.hotrod.InvalidMagicIdException: Error reading magic byte or message id: 69
    at org.infinispan.server.hotrod.HotRodDecoder.switch0(HotRodDecoder.java:208)
    at org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:153)
  

Я пробовал с несколькими версиями серверов Infinispan (например, 9.4.18, 9.4.20, 10.0.1, 11.0.3), но версии Infinispan 9.4.x вызывают у меня проблему, в то время как 10.x.x и 11.x.x) нет, и я могу загрузить консоль Hotrod. без каких-либо проблем (с версиями 10.x.x и 11.x.x).

Документация по поиску ключей, за которой я следую ( https://www.keycloak.org/docs/latest/server_installation/#crossdc-mode ) для интеграции Keycloak с внешним удаленным Infinispan основан на версии Infinispan v9.4.18, которая немного отличается по архитектуре от версий v10.0.1 или v11.0.3

Я вижу одно решение, предложенное Redhat здесьhttps://access.redhat.com/solutions/3920921 вокруг этой проблемы, которая звучит как проблема с версией протокола клиента hotrod (возможно, несовместима с сервером hotrod и т.д.), Но в моем случае я пытаюсь загрузить консоль сервера hotrod через браузер. У меня нет клиентского приложения hotrod как такового), поэтому решение не очень полезно.

Кто-нибудь когда-либо сталкивался или имел какие-либо идеи / указатели по приведенной ниже проблеме infinispan, с которой я сталкиваюсь, и как это преодолеть??

Цените указатели / предложения здесь. Большое спасибо , Джамиль

Ответ №1:

В версиях Infinispan до 10.0 консоль администратора находится на порту 9990.