Ignite 使用自定义缓存模板时,无法通过关联键查询缓存
我注意到,当我查询使用自定义缓存模板创建的缓存并在WHERE子句中包含该缓存的关联键时,不会返回任何结果 我正在使用以下配置运行Ignite 2.5:Ignite 使用自定义缓存模板时,无法通过关联键查询缓存,ignite,Ignite,我注意到,当我查询使用自定义缓存模板创建的缓存并在WHERE子句中包含该缓存的关联键时,不会返回任何结果 我正在使用以下配置运行Ignite 2.5: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.o
<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">
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="cacheConfiguration">
<list>
<bean id="cache-template-bean" abstract="true" class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="myCacheTemplate*"/>
<property name="cacheMode" value="PARTITIONED" />
</bean>
</list>
</property>
</bean>
我想知道这是我的一个错误配置,还是Ignite中的一个bug 显然,这是Ignite中的一个bug。提出。谢谢你的报道 只有通过
和keepbinary()放置数据时才会出现此问题。如果改用SQLINSERT
,SELECT
可以正常工作
我建议您使用INSERT
而不是手动构建BinaryObject
s,这样更容易解决问题。如果您必须使用BinaryObject
s,那么您可以尝试通过INSERT
添加第一行,然后使用binary,这在我的测试中也起到了作用
...Ignite startup logs...
[10:28:05] Ignite node started OK (id=7393583b)
[10:28:05] Topology snapshot [ver=8, servers=1, clients=1, CPUs=8, offheap=3.2GB, heap=8.1GB]
[10:28:05] ^-- Node [id=7393583B-90FB-4D04-8D51-595F7C4DD4B6, clusterState=ACTIVE]
CREATE TABLE IF NOT EXISTS root (
"key" VARCHAR(24) NOT NULL,
"data" VARCHAR(100),
PRIMARY KEY("key"))
WITH "template=PARTITIONED, affinity_key=key, cache_name=root, value_type=root";
CREATE TABLE IF NOT EXISTS colocated_default (
"root_key" VARCHAR(24) NOT NULL,
"key" VARCHAR(24) NOT NULL,
"data" VARCHAR(100),
PRIMARY KEY("root_key", "key"))
WITH "template=PARTITIONED, affinity_key=root_key, cache_name=colocated_default, key_type=colocated_default_key, value_type=colocated_default";
CREATE TABLE IF NOT EXISTS colocated_custom (
"root_key" VARCHAR(24) NOT NULL,
"key" VARCHAR(24) NOT NULL,
"data" VARCHAR(100),
PRIMARY KEY("root_key", "key"))
WITH "template=myCacheTemplate, affinity_key=root_key, cache_name=colocated_custom, key_type=colocated_custom_key, value_type=colocated_custom";
Inserting into "root": ["1", root [idHash=362827515, hash=1928708473, data=Data for 1, key=1]]
Inserting into "colocated_default": [colocated_default_key [idHash=44559647, hash=-132016556, root_key=1, key=2], colocated_default [idHash=1067599825, hash=-132016556, root_key=1, key=2]]
Inserting into "colocated_custom": [colocated_custom_key [idHash=1336001042, hash=-132016555, root_key=1, key=3], colocated_custom [idHash=1856158867, hash=-132016555, root_key=1, key=3]]
SELECT COUNT(*) FROM root;
1
SELECT COUNT(*) FROM colocated_default;
1
SELECT COUNT(*) FROM colocated_custom;
1
SELECT COUNT(*) FROM root WHERE "key" = '1';
1
SELECT COUNT(*) FROM colocated_default WHERE "root_key" = '1';
1
SELECT COUNT(*) FROM colocated_custom WHERE "root_key" = '1';
0