[ 
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)

Reply via email to