问题标签 [hot-rod]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
220 浏览

java - HotRodClientException:请求消息 id[6] 返回服务器错误(状态 = 0x85):java.lang.NullPointerException

我是 infinispan 的新手,我正在尝试集群配置。这是我的代码

我正在尝试从我的 HotRod 客户端获取它。

但我收到上述异常。

0 投票
1 回答
394 浏览

infinispan - 了解 Rebalancing & Async 模式下的 Infinispan 行为

我是 Infinispan 的新手。即使在通过 Infinispan 用户指南和谷歌搜索之后,我也无法弄清楚 Infinispan 在以下情况下的行为:

1) 进行再平衡时是否锁定 HotRod 客户端读取?

2) Infinispan 在 REPL 模式下如何在 HotRod 客户端使用 async 和 nearCache 运行?(我发现如果 nearCache 被禁用,那么它可以获取数据,但不能使用 nearCache。它与 nearCache 更新有什么关系吗?)

服务器代码:

客户代码:

使用上面的代码,下面列出了场景和结果(所有运行都进行了多次,结果相同):

- 没有 nearCache 1 Key --> 得到了预期的值

- 使用 nearCache (LAZY/EAGER) 1 个键 --> null

- 在同一次运行中,两次相同的键使用 nearCache (LAZY/EAGER) --> null(第一次) - 预期值(下一次)

需要澄清:如果一个示例代码重新验证 HotRod 客户端在 DIST 模式下的负载平衡(RoundRobin)行为。(我能够成功地使用 REPL 模式检查它,并且它像它声称的那样工作)

0 投票
1 回答
91 浏览

java - HotRod ClientListener 没有获得 HotRod serevr 的更新视图?

我有 2 个以REPL_ASYNC模式运行的 HotRod 服务器。我正在尝试通过提供 hotrod 服务器地址和端口来使用 hotrod 客户端连接它。

我正在尝试实现类似于 Near Cache 的功能。不使用 Nearcache 来避免 RPC 调用的原因。我们希望控制 NearCache 完成的远程调用。我与通知侦听器一起实现了所有逻辑。因此,为此我尝试将 ClientListener 附加到 RemoteCache 上,然后想对事件通知采取行动。当所有服务器都在运行时,它按预期工作。但是当其中一个 hotrod 服务器停止或添加新服务器时,它没有得到更新的服务器视图。而当我在没有 ClientListener 的情况下运行 hotrod 客户端时,我正在获取服务器的更新视图。

任何人对此有想法请分享我尝试了很多东西但没有成功。

请建议是否有人遇到过这个问题?

更新:每当我们执行获取操作时获取更新的视图,但如果没有执行获取操作,则不会获取更新的拓扑视图

使用的配置:

0 投票
0 回答
804 浏览

infinispan - org.infinispan.util.concurrent.TimeoutException:应用状态超时

我们在 REPL 集群中运行带有 3 个实例的 Infinispan 7.2.5。Spark Client 使用 HotRod 连接到集群。

突然,视图被更新,一个实例也从集群和客户端视图中删除。该实例已启动并正在运行,但无法连接到其他实例并出现超时异常。

什么可能导致实例离开集群而不让它重新加入?如果有人可以对此提供一些见解。

同时,实例上的 CPU 太高。是因为重新加入尝试(如果它实际上需要大量 CPU)还是其他原因?

使用 HotRod 连接到 Infinispan 的客户端观察到以下异常:

同时,Infinispan 服务器实例收到以下日志:

而似乎与集群分离的其他可用实例已收到以下日志:

0 投票
1 回答
115 浏览

java - 如何使 putAll 原子化?

我正在使用 infinispan 7.2.5 版本进行内存缓存。要访问我正在使用 Hotrod 的缓存。所以我有在集群模式下运行的 hotrod 服务器和可以使用 hotrod 客户端访问服务器的多个客户端。

我正在执行putAll操作以将数据放入缓存。现在我有一个要求,我们希望将所有内容或任何内容都放入缓存中,所以我的意思是 putAll 应该能够将所有数据放入缓存中,或者如果失败,则不应将任何内容添加到缓存中。我正在查看 infinispan 的文档以检查 putAll 是否是原子的,但根据文档它不是。

所以我的问题是:

  • 如何使 putAllll 原子来实现需求?

我也在考虑让 transactionMode 缓存,但不确定它是否能解决我的问题而不会对性能产生太大影响?

这里的任何建议将不胜感激。

0 投票
1 回答
112 浏览

hibernate - 共享 infinispan 2LC 缓存

我有两个使用相同数据库实体的应用程序。这两个应用程序都部署在 jboss eap 6.2 单独的集群上。数据库表仅从一个应用程序更新,但从两个应用程序读取。这两个应用程序都使用本机休眠 API 从数据库读取/写入数据。

在嵌入式模式下将 infinispan 启用为 2LC 后,如何确保在一个应用程序中更新的缓存实体在第二个应用程序缓存中失效?是否有任何 JMX/JMS 接口来表示缓存失效?

如果我选择远程缓存模式并将 infinispan 作为热棒服务器启动,那么缓存服务器可以与两个应用程序共享。但是我是否需要更新代码以使用热棒客户端 API 从缓存中查询实体?如果从应用程序更新实体,它也会自动更新/使缓存无效。

0 投票
1 回答
42 浏览

javascript - Infinispan 的客户端 JS 未找到 Infinispan Java 客户端输入的缓存

我有一个应用程序 java 负责将信息放入缓存中,一个应用程序 NodeJS 负责管理驱逐。Infinispan Javascript 客户端找不到 Infinispan Java 客户端放置的条目。我尝试使用数据类型和字符串键,但它不起作用。

我正在使用带有 Hot Rod 协议的 Infinispan 8.2。

0 投票
2 回答
1022 浏览

java - infinispan 10.1 没有为 Java 类型 java.util.ArrayList 注册编组器

尝试将列表对象存储在 infinispan 缓存中时会引发错误。我已经参考了一些论坛并包含了列表类的白名单,但仍然遇到同样的错误。

注意:服务器远程托管

进口

代码:

例外

0 投票
1 回答
95 浏览

infinispan - 我可以使用 @ClientCacheEntryExpired 从 Infinispan 服务器侦听器中检索过期的缓存条目吗?

我正在修改嵌入式 Infinispan 应用程序以使用 Infinispan 服务器和 HotRod 客户端。嵌入式实现依赖于在侦听器中检测缓存过期事件。使用“pre”事件,我可以读取过期条目并更新外部数据。

此功能使我不必编写自己的 reaper,但据我所知,HotRod 客户端实现不提供相同的功能。我可以使用@ClientCacheEntryExpired 检测到过期,但显然该事件在从缓存中删除条目后触发,并且侦听器唯一可用的数据是键。

有没有一种(简单的)方法来复制嵌入的行为?还是我必须实施自己的到期收割机?

0 投票
1 回答
195 浏览

infinispan - Infinispan v9.4.18 Hotrod 控制台异常 InvalidMagicIdException 报告

我正在尝试通过使用跨数据中心复制模式从 Keycloak 外部化 Infinispan 服务器来设置远程缓存。我在这里关注 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 服务器不断报告以下异常。

我从他们的官方网站https://downloads.jboss.org/infinispan/9.4.18.Final/infinispan-server-9.4.18.Final.zip下载了 Infinispan 服务器(版本 infinispan-server-9.4.18) 没有做任何更改为任何 infinispan 配置文件,当我启动 Infinispan 服务器时,它启动时没有任何问题,但是当我尝试在http://127.0.0.1:11222启动 Hotrod 控制台时 (11222 是 hotrod 侦听的端口在我的本地主机上),它不会加载。我得到如下所示的问题:

¡P�<code>org.infinispan.server.hotrod.InvalidMagicIdException: 读取魔术字节或消息 id 时出错:71�P�</code>org.infinispan.server.hotrod.InvalidMagicIdException: 读取魔术字节或消息时出错id: 69…P…<code>org.infinispan.server.hotrod.InvalidMagicIdException: 读取魔法字节或消息 id: 84…P…</code>org.infinispan.server.hotrod.InvalidMagicIdException: 读取魔法错误字节或消息 ID:32¡P�<code>org.infinispan.server.hotrod.InvalidMagicIdException:读取魔术字节或消息 ID 时出错:47�P�</code>org.infinispan.server.hotrod.InvalidMagicIdException:读取魔术字节或消息 id 时出错:32¡P`org.infinispan.server.hotrod.InvalidMagicIdException:读取魔术字节时出错或

在服务器的控制台上,异常如下:

18:41:28,551 错误 [org.infinispan.server.hotrod.BaseRequestProcessor] (HotRod-ServerIO-4-1) ISPN005003:报告异常:org.infinispan.server.hotrod.InvalidMagicIdException:读取魔术字节或消息 ID 时出错:71在 org.infinispan.server.hotrod.HotRodDecoder.switch0(HotRodDecoder.java:208) 在 org.infinispan.server.hotrod.HotRodDecoder.switch1_0(HotRodDecoder.java:153) 在 org.infinispan.server.hotrod.HotRodDecoder.decode (HotRodDecoder.java:143) 在 io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:437) 在 io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:498)。 handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276) 在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) 在 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) 在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:377) 在 io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java :363) 在 io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) 在 io.netty.channel 的 io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)。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) 在 io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) 在 io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) 在 io.netty.util.concurrent。 SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) 在 io.netty.util.internal.ThreadExecutorMap$2。在 io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 在 java.lang.Thread.run(Thread.java:748) 运行(ThreadExecutorMap.java:74)

18:41:28,593 错误 [org.infinispan.server.hotrod.BaseRequestProcessor] (HotRod-ServerIO-4-1) ISPN005003:报告异常:org.infinispan.server.hotrod.InvalidMagicIdException:读取魔术字节或消息 ID 时出错:69在 org.infinispan.server.hotrod.HotRodDecoder.switch0(HotRodDecoder.java:208) 在 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.xx 和 11.xx)没有,我可以加载 Hotrod 控制台。没有任何问题(版本 10.xx 和 11.xx)。我关注的用于将 Keycloak 与外部远程 Infinispan 集成的 Keycloak 文档(https://www.keycloak.org/docs/latest/server_installation/#crossdc-mode)基于 Infinispan 版本 v9.4.18,它在架构上存在很大差异从版本 v10.0.1 或 v11.0.3 开始

我在这里看到了 Redhat 建议的一种解决方案https://access.redhat.com/solutions/3920921 围绕这个问题,这听起来像是 hotrod 客户端的协议版本问题(可能与 hotrod 服务器等不兼容)但在我的情况下我正在尝试通过浏览器加载 hotrod 服务器控制台。我本身没有任何 hotrod 客户端应用程序),因此该解决方案没有多大用处。 

有没有人遇到过或对我面临的以下 infinispan 问题有任何想法/指针,以及如何克服这个问题?

在这里欣赏指针/建议。非常感谢贾米尔