Hi All,
I have defined two caches/tables: person and org.
They are defined via query entities, and both have the same key fields.
I have set the affinity on both tables.
When I try to join the two tables, I get the following message
[Failed to prepare distributed join query. Join condition does not use
index.]
My query is
select a.org_id, a.person_id, a.name, b.name from
person.person a, org.org b
where a.org_id = b.org_id and
a.person.id = ?
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="ORG"/>
<property name="cacheMode" value="REPLICATED"/>
<property name="atomicityMode" value="ATOMIC"/>
<property name="writeSynchronizationMode"
value="FULL_SYNC"/>
<property name="queryEntities">
<list>
<bean
class="org.apache.ignite.cache.QueryEntity">
<property name="keyType" value="CustomKey"/>
<property name="valueType" value="ORG"/>
<property name="tableName" value="ORG"/>
<property name="fields">
<map>
<entry key="ORG_ID"
value="java.lang.String"/>
<entry key="NAME"
value="java.lang.String"/>
</map>
</property>
<property name="keyFields">
<set>
<value>ORG_ID</value>
</set>
</property>
</bean>
</list>
</property>
</bean>
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="PERSON"/>
<bean
class="org.apache.ignite.cache.CacheKeyConfiguration">
<property name="typeName" value="java.lang.String"/>
<property name="affinityKeyFieldName" value="ORG_ID"
/>
</bean>
<list>
<bean
class="org.apache.ignite.cache.QueryEntity">
<property name="keyType" value="CustomKey"/>
<property name="valueType" value="PERSON"/>
<property name="tableName" value="PERSON"/>
<property name="fields">
<map>
<entry key="PERSON_ID"
value="java.lang.String"/>
<entry key="ORG_ID"
value="java.lang.String"/>
<entry key="NAME"
value="java.lang.String"/>
</map>
</property>
<property name="keyFields">
<set>
<value>PERSON_ID</value>
<value>ORG_ID</value>
</set>
</property>
</bean>
</list>
</property>
</bean>