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>

Reply via email to