[
https://issues.apache.org/jira/browse/IGNITE-969?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Konstantinov updated IGNITE-969:
--------------------------------------
Description:
{code}
<bean class="org.apache.ignite.cache.CacheTypeMetadata">
<property name="databaseSchema" value="PUBLIC"/>
<property name="databaseTable" value="ADDRESS"/>
<property name="keyType"
value="org.gridgain.visor.tester.sql.AddressKey"/>
<property name="valueType"
value="org.gridgain.visor.tester.sql.Address"/>
<property name="keyFields">
<list>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="PK"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.INTEGER"/>
</property>
<property name="javaName" value="pk"/>
<property name="javaType" value="int"/>
</bean>
</list>
</property>
<property name="valueFields">
<list>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="PK"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.INTEGER"/>
</property>
<property name="javaName" value="pk"/>
<property name="javaType" value="int"/>
</bean>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="STREET"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.VARCHAR"/>
</property>
<property name="javaName" value="street"/>
<property name="javaType"
value="java.lang.String"/>
</bean>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="ZIP"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.INTEGER"/>
</property>
<property name="javaName" value="zip"/>
<property name="javaType"
value="java.lang.Integer"/>
</bean>
</list>
</property>
<property name="queryFields">
<map>
<entry key="pk" value="int"/>
<entry key="street" value="java.lang.String"/>
<entry key="zip" value="java.lang.Integer"/>
</map>
</property>
<property name="ascendingFields">
<map>
<entry key="pk" value="int"/>
</map>
</property>
<property name="descendingFields">
<map>
<entry key="zip" value="java.lang.Integer"/>
</map>
</property>
<property name="textFields">
<list>
<value>zip</value>
<value>street</value>
</list>
</property>
<property name="groups">
<map>
<entry key="GRP2">
<map>
<entry key="street">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg
value="java.lang.String"/>
<constructor-arg value="false"/>
</bean>
</entry>
<entry key="zip">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg
value="java.lang.Integer"/>
<constructor-arg value="true"/>
</bean>
</entry>
</map>
</entry>
<entry key="GRP3">
<map>
<entry key="pk">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg value="int"/>
<constructor-arg value="false"/>
</bean>
</entry>
<entry key="street">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg
value="java.lang.String"/>
<constructor-arg value="false"/>
</bean>
</entry>
</map>
</entry>
</map>
</property>
</bean>
{code}
{code}
class org.apache.ignite.IgniteException: Failed to initialize property 'zip'
for key class 'class AddressKey' and value class 'class Address'. Make sure
that one of these classes contains respective getter method or field.
at
org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:663)
at org.apache.ignite.Ignition.start(Ignition.java:349)
at
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:288)
Caused by: class org.apache.ignite.IgniteCheckedException: Failed to initialize
property 'zip' for key class 'class AddressKey' and value class 'class
Address'. Make sure that one of these classes contains respective getter method
or field.
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.buildClassProperty(GridQueryProcessor.java:1240)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.processClassMeta(GridQueryProcessor.java:1094)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:144)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:242)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:885)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:732)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:826)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1537)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1405)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:931)
at
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:858)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:750)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:527)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:497)
at org.apache.ignite.Ignition.start(Ignition.java:346)
{code}
was:
{code}
<bean class="org.apache.ignite.cache.CacheTypeMetadata">
<property name="databaseSchema" value="PUBLIC"/>
<property name="databaseTable" value="ADDRESS"/>
<property name="keyType"
value="org.gridgain.visor.tester.sql.AddressKey"/>
<property name="valueType"
value="org.gridgain.visor.tester.sql.Address"/>
<property name="keyFields">
<list>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="PK"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.INTEGER"/>
</property>
<property name="javaName" value="pk"/>
<property name="javaType" value="int"/>
</bean>
</list>
</property>
<property name="valueFields">
<list>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="PK"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.INTEGER"/>
</property>
<property name="javaName" value="pk"/>
<property name="javaType" value="int"/>
</bean>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="STREET"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.VARCHAR"/>
</property>
<property name="javaName" value="street"/>
<property name="javaType"
value="java.lang.String"/>
</bean>
<bean
class="org.apache.ignite.cache.CacheTypeFieldMetadata">
<property name="databaseName" value="ZIP"/>
<property name="databaseType">
<util:constant
static-field="java.sql.Types.INTEGER"/>
</property>
<property name="javaName" value="zip"/>
<property name="javaType"
value="java.lang.Integer"/>
</bean>
</list>
</property>
<property name="queryFields">
<map>
<entry key="pk" value="int"/>
<entry key="street" value="java.lang.String"/>
<entry key="zip" value="java.lang.Integer"/>
</map>
</property>
<property name="ascendingFields">
<map>
<entry key="pk" value="int"/>
</map>
</property>
<property name="descendingFields">
<map>
<entry key="zip" value="java.lang.Integer"/>
</map>
</property>
<property name="textFields">
<list>
<value>zip</value>
<value>street</value>
</list>
</property>
<property name="groups">
<map>
<entry key="GRP2">
<map>
<entry key="street">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg
value="java.lang.String"/>
<constructor-arg value="false"/>
</bean>
</entry>
<entry key="zip">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg
value="java.lang.Integer"/>
<constructor-arg value="true"/>
</bean>
</entry>
</map>
</entry>
<entry key="GRP3">
<map>
<entry key="pk">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg value="int"/>
<constructor-arg value="false"/>
</bean>
</entry>
<entry key="street">
<bean
class="org.apache.ignite.lang.IgniteBiTuple">
<constructor-arg
value="java.lang.String"/>
<constructor-arg value="false"/>
</bean>
</entry>
</map>
</entry>
</map>
</property>
</bean>
{code}
> Failed to start node if 'textFields' in 'CacheTypeMetadata' contains non
> String value (Integer in my case)
> ----------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-969
> URL: https://issues.apache.org/jira/browse/IGNITE-969
> Project: Ignite
> Issue Type: Bug
> Components: cache, SQL
> Affects Versions: sprint-5
> Reporter: Pavel Konstantinov
> Assignee: Yakov Zhdanov
> Priority: Blocker
> Fix For: sprint-5
>
>
> {code}
> <bean class="org.apache.ignite.cache.CacheTypeMetadata">
> <property name="databaseSchema" value="PUBLIC"/>
> <property name="databaseTable" value="ADDRESS"/>
> <property name="keyType"
> value="org.gridgain.visor.tester.sql.AddressKey"/>
> <property name="valueType"
> value="org.gridgain.visor.tester.sql.Address"/>
> <property name="keyFields">
> <list>
> <bean
> class="org.apache.ignite.cache.CacheTypeFieldMetadata">
> <property name="databaseName" value="PK"/>
> <property name="databaseType">
> <util:constant
> static-field="java.sql.Types.INTEGER"/>
> </property>
> <property name="javaName" value="pk"/>
> <property name="javaType" value="int"/>
> </bean>
> </list>
> </property>
> <property name="valueFields">
> <list>
> <bean
> class="org.apache.ignite.cache.CacheTypeFieldMetadata">
> <property name="databaseName" value="PK"/>
> <property name="databaseType">
> <util:constant
> static-field="java.sql.Types.INTEGER"/>
> </property>
> <property name="javaName" value="pk"/>
> <property name="javaType" value="int"/>
> </bean>
> <bean
> class="org.apache.ignite.cache.CacheTypeFieldMetadata">
> <property name="databaseName" value="STREET"/>
> <property name="databaseType">
> <util:constant
> static-field="java.sql.Types.VARCHAR"/>
> </property>
> <property name="javaName" value="street"/>
> <property name="javaType"
> value="java.lang.String"/>
> </bean>
> <bean
> class="org.apache.ignite.cache.CacheTypeFieldMetadata">
> <property name="databaseName" value="ZIP"/>
> <property name="databaseType">
> <util:constant
> static-field="java.sql.Types.INTEGER"/>
> </property>
> <property name="javaName" value="zip"/>
> <property name="javaType"
> value="java.lang.Integer"/>
> </bean>
> </list>
> </property>
> <property name="queryFields">
> <map>
> <entry key="pk" value="int"/>
> <entry key="street" value="java.lang.String"/>
> <entry key="zip" value="java.lang.Integer"/>
> </map>
> </property>
> <property name="ascendingFields">
> <map>
> <entry key="pk" value="int"/>
> </map>
> </property>
> <property name="descendingFields">
> <map>
> <entry key="zip" value="java.lang.Integer"/>
> </map>
> </property>
> <property name="textFields">
> <list>
> <value>zip</value>
> <value>street</value>
> </list>
> </property>
> <property name="groups">
> <map>
> <entry key="GRP2">
> <map>
> <entry key="street">
> <bean
> class="org.apache.ignite.lang.IgniteBiTuple">
> <constructor-arg
> value="java.lang.String"/>
> <constructor-arg value="false"/>
> </bean>
> </entry>
> <entry key="zip">
> <bean
> class="org.apache.ignite.lang.IgniteBiTuple">
> <constructor-arg
> value="java.lang.Integer"/>
> <constructor-arg value="true"/>
> </bean>
> </entry>
> </map>
> </entry>
> <entry key="GRP3">
> <map>
> <entry key="pk">
> <bean
> class="org.apache.ignite.lang.IgniteBiTuple">
> <constructor-arg value="int"/>
> <constructor-arg value="false"/>
> </bean>
> </entry>
> <entry key="street">
> <bean
> class="org.apache.ignite.lang.IgniteBiTuple">
> <constructor-arg
> value="java.lang.String"/>
> <constructor-arg value="false"/>
> </bean>
> </entry>
> </map>
> </entry>
> </map>
> </property>
> </bean>
> {code}
> {code}
> class org.apache.ignite.IgniteException: Failed to initialize property 'zip'
> for key class 'class AddressKey' and value class 'class Address'. Make sure
> that one of these classes contains respective getter method or field.
> at
> org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:663)
> at org.apache.ignite.Ignition.start(Ignition.java:349)
> at
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:288)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to
> initialize property 'zip' for key class 'class AddressKey' and value class
> 'class Address'. Make sure that one of these classes contains respective
> getter method or field.
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.buildClassProperty(GridQueryProcessor.java:1240)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.processClassMeta(GridQueryProcessor.java:1094)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:144)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:242)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:885)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:732)
> at
> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:826)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1537)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1405)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:931)
> at
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:858)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:750)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:527)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:497)
> at org.apache.ignite.Ignition.start(Ignition.java:346)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)