#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.