Apache Ignite 中索引 INLINE_SIZE 和索引列数据(字符串类型)之间有关联吗?
以下情况,当我插入数据时,出现排序索引相关异常,出现锁定/解锁消息,节点宕机。
纯内存中
PK_INLINE_SIZE=2000,AFFINITY_INLINE_SIZE=200(使用 SQL WITH)
创建了3列varchar类型作为主键
Apache Ignite 2.16.0(H2 DB Engine,我测试了 Calcite DB Engine,有同样的问题)
表有20列(全部为varchar类型)
异常发生于
当我用调试器观察相关变量时,p.rootlvl的值不断增加。(异常发生在p.btmlvl=129,p.rootlvl=129)
当PK_INLINE_SIZE设置为200时,p.rootlvl的值没有像之前增加那么多。
索引 b+tree 创建过程中发生了什么导致页面锁定并导致节点宕机?
其他数据集不会发生这种情况。但我可以针对特定数据集重现相同的情况(不可能共享数据集......)
我正在尝试理解代码,但是有人可以帮忙吗...?
使用不同的数据集进行测试
导致问题的数据集包含特殊字符,因此我尝试删除它们。
将 PK 列的大小更改为固定(archer -> varchar(2000)
将 PK 列从 3 变为 2,但是。一样....