c# - Apache Ignite:无法将数据插入持久缓存,因为拓扑版本的亲和性未初始化
问题描述
我正在尝试使用瘦 .NET 客户端将数据插入持久数据区域,并且在我调用 PutAllAsync 方法后,ignite 进程因以下错误而终止:
[15:45:09,616][SEVERE][exchange-worker-#66][] JVM will be halted immediately due to the failure: [failureCtx=FailureContext [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteCheckedException: Affinity for topology version is not initialized [locNode=8fda194c-c82f-4d52-80b0-24ac1d7c8be7, grp=ignite-sys-cache, topVer=AffinityTopologyVersion [topVer=1, minorTopVer=2], head=AffinityTopologyVersion [topVer=1, minorTopVer=1], history=[AffinityTopologyVersion [topVer=1, minorTopVer=1]]]]]
这是默认配置.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
Alter configuration below as needed.
-->
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="dataStorageConfiguration">
<bean class="org.apache.ignite.configuration.DataStorageConfiguration">
<property name="dataRegionConfigurations">
<list>
<bean class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="name" value="data_persistent_region"/>
<property name="persistenceEnabled" value="true"/>
</bean>
</list>
</property>
</bean>
</property>
</bean>
</beans>
这是一个数据插入的例子:
var cacheConfiguration = new CacheClientConfiguration(key, cacheEntity);
cacheConfiguration.CacheMode = CacheMode.Replicated;
cacheConfiguration.DataRegionName = "data_persistent_region";
_igniteClient.GetOrCreateCache<int, T>(cacheConfiguration)
.PutAll(data.Select((x, i) => new KeyValuePair<int, T>(i, x)));
尝试使用“-Djava.net.preferIPv4Stack=true”和“-DIGNITE_QUIET=false”选项,但没有帮助。
PS。我正在使用 Apache Ignite 2.10.0。如果我禁用区域持久性,一切正常。
解决方案
似乎我发现了问题所在:缓存键包含不支持的符号“:”来创建具有相同名称的文件。
推荐阅读
- python - 批量提交snakemake作业
- r - 加载库 R 后找不到函数
- python - python pandas可在掩码中调用/对每个条目重新计算
- java - 如何使用 JPA 创建本地数据库?
- javascript - Fetch 调用卡在 promise 上并且永远不会返回
- javascript - JSON.parse 处的 JSON 输入意外结束(
) - html - 子下拉菜单打开时如何超过父div
- php - 如何在 CF7 中删除 span 包装器并保持错误
- javascript - 根据 x 和 y 坐标将插入符号设置为最近的可能位置
- sql-server - 字符串的排序规则和数据类型不兼容