[
https://issues.apache.org/jira/browse/IGNITE-1338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Konstantinov updated IGNITE-1338:
---------------------------------------
Description:
Node can not be started if query fields name written in lower case and key
fields with the same fields in upper case in cache type metadata.
Please use attached configuration file for reproducing.
{code}
[14:30:28,526][SEVERE][main][IgniteKernal] Got exception while starting (will
rollback startup routine).
class org.apache.ignite.IgniteCheckedException: Failed to register query type:
TypeDescriptor [name=org.apache.ignite.Comalgorithm, fields={APCSBJCODE=class
java.math.BigDecimal, APCID=class java.math.BigDecimal, AGRSBJCODE=class
java.math.BigDecimal, AGRID=class java.math.BigDecimal, DAOSBJCODE=class
java.math.BigDecimal, DAOID=class java.math.BigDecimal, CTPSBJCODE=class
java.math.BigDecimal, CTPID=class java.math.BigDecimal, apcsbjcode=class
java.math.BigDecimal, apcid=class java.math.BigDecimal, algcode=class
java.math.BigDecimal, algisversioned=class java.lang.Short, algtype=class
java.lang.Integer, algcalcobjecttype=class java.lang.Integer,
algclasspath=class java.lang.String, algcomment=class java.lang.String,
algopendate=class java.sql.Date, algclosedate=class java.sql.Date,
algentstatus=class java.lang.Integer, agrsbjcode=class java.math.BigDecimal,
agrid=class java.math.BigDecimal, daosbjcode=class java.math.BigDecimal,
daoid=class java.math.BigDecimal, ctpsbjcode=class java.math.BigDecimal,
ctpid=class java.math.BigDecimal, algusefields=class java.lang.String},
indexes={FK1COMALGORITHM=IndexDescriptor [type=SORTED],
FK3COMALGORITHM=IndexDescriptor [type=SORTED], FK4COMALGORITHM=IndexDescriptor
[type=SORTED], SQL050208183448780=IndexDescriptor [type=SORTED]},
fullTextIdx=null, keyCls=class java.lang.Object, valCls=class java.lang.Object,
valTextIdx=false, registered=false]
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:1058)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:194)
at
org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:292)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1048)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:820)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:963)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1617)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1484)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:965)
at
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:892)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:784)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:705)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:576)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:546)
at org.apache.ignite.Ignition.start(Ignition.java:346)
at
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:302)
Caused by: org.h2.jdbc.JdbcSQLException: Повтор имени столбца "APCSBJCODE"
Duplicate column name "APCSBJCODE"; SQL statement:
CREATE TABLE "cache2".org_apache_ignite_Comalgorithm (_key OTHER NOT NULL,_val
OTHER,APCSBJCODE DECIMAL,APCID DECIMAL,AGRSBJCODE DECIMAL,AGRID
DECIMAL,DAOSBJCODE DECIMAL,DAOID DECIMAL,CTPSBJCODE DECIMAL,CTPID
DECIMAL,apcsbjcode DECIMAL,apcid DECIMAL,algcode DECIMAL,algisversioned
SMALLINT,algtype INT,algcalcobjecttype INT,algclasspath VARCHAR,algcomment
VARCHAR,algopendate DATE,algclosedate DATE,algentstatus INT,agrsbjcode
DECIMAL,agrid DECIMAL,daosbjcode DECIMAL,daoid DECIMAL,ctpsbjcode DECIMAL,ctpid
DECIMAL,algusefields VARCHAR) engine
"org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine"
[42121-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
at org.h2.message.DbException.get(DbException.java:172)
at org.h2.message.DbException.get(DbException.java:149)
at org.h2.table.Table.setColumns(Table.java:394)
at org.h2.table.TableBase.<init>(TableBase.java:44)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.<init>(GridH2Table.java:90)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:618)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:602)
at org.h2.schema.Schema.createTable(Schema.java:584)
at org.h2.command.ddl.CreateTable.update(CreateTable.java:135)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:253)
at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:181)
at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156)
at
org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:643)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.createTable(IgniteH2Indexing.java:1166)
at
org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:1051)
... 15 more
[14:30:28,542][INFO][main][GridTcpRestProtocol] Command protocol successfully
stopped: TCP binary
[14:30:28,546][SEVERE][main][IgniteKernal] Failed to pre-stop processor:
GridProcessorAdapter []
java.lang.NullPointerException
at
org.apache.ignite.internal.processors.cache.GridCacheEventManager.isRecordable(GridCacheEventManager.java:348)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:1221)
at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:938)
at org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:1851)
at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:1795)
at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:986)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1617)
at
org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1484)
at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:965)
at
org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:892)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:784)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:705)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:576)
at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:546)
at org.apache.ignite.Ignition.start(Ignition.java:346)
at
org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:302)
[14:30:28,556][INFO][main][GridCacheProcessor] Stopped cache: cache2
[14:30:28,557][INFO][main][GridCacheProcessor] Stopped cache: ignite-sys-cache
[14:30:28,558][INFO][main][GridCacheProcessor] Stopped cache:
ignite-atomics-sys-cache
[14:30:28,570][INFO][main][IgniteKernal]
{code}
was:
I'm played with Ignite control center and found this bug.
I'm attached example xml-file.
> SQL engine doesn't convert query fields name in upper case before using
> -----------------------------------------------------------------------
>
> Key: IGNITE-1338
> URL: https://issues.apache.org/jira/browse/IGNITE-1338
> Project: Ignite
> Issue Type: Bug
> Components: SQL
> Affects Versions: ignite-1.4
> Reporter: Pavel Konstantinov
> Assignee: Sergi Vladykin
> Priority: Trivial
> Fix For: ignite-1.4
>
> Attachments: test-cluster-2.xml
>
>
> Node can not be started if query fields name written in lower case and key
> fields with the same fields in upper case in cache type metadata.
> Please use attached configuration file for reproducing.
> {code}
> [14:30:28,526][SEVERE][main][IgniteKernal] Got exception while starting (will
> rollback startup routine).
> class org.apache.ignite.IgniteCheckedException: Failed to register query
> type: TypeDescriptor [name=org.apache.ignite.Comalgorithm,
> fields={APCSBJCODE=class java.math.BigDecimal, APCID=class
> java.math.BigDecimal, AGRSBJCODE=class java.math.BigDecimal, AGRID=class
> java.math.BigDecimal, DAOSBJCODE=class java.math.BigDecimal, DAOID=class
> java.math.BigDecimal, CTPSBJCODE=class java.math.BigDecimal, CTPID=class
> java.math.BigDecimal, apcsbjcode=class java.math.BigDecimal, apcid=class
> java.math.BigDecimal, algcode=class java.math.BigDecimal,
> algisversioned=class java.lang.Short, algtype=class java.lang.Integer,
> algcalcobjecttype=class java.lang.Integer, algclasspath=class
> java.lang.String, algcomment=class java.lang.String, algopendate=class
> java.sql.Date, algclosedate=class java.sql.Date, algentstatus=class
> java.lang.Integer, agrsbjcode=class java.math.BigDecimal, agrid=class
> java.math.BigDecimal, daosbjcode=class java.math.BigDecimal, daoid=class
> java.math.BigDecimal, ctpsbjcode=class java.math.BigDecimal, ctpid=class
> java.math.BigDecimal, algusefields=class java.lang.String},
> indexes={FK1COMALGORITHM=IndexDescriptor [type=SORTED],
> FK3COMALGORITHM=IndexDescriptor [type=SORTED],
> FK4COMALGORITHM=IndexDescriptor [type=SORTED],
> SQL050208183448780=IndexDescriptor [type=SORTED]}, fullTextIdx=null,
> keyCls=class java.lang.Object, valCls=class java.lang.Object,
> valTextIdx=false, registered=false]
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:1058)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:194)
> at
> org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:292)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1048)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:820)
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:963)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1617)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1484)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:965)
> at
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:892)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:784)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:705)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:576)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:546)
> at org.apache.ignite.Ignition.start(Ignition.java:346)
> at
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:302)
> Caused by: org.h2.jdbc.JdbcSQLException: Повтор имени столбца "APCSBJCODE"
> Duplicate column name "APCSBJCODE"; SQL statement:
> CREATE TABLE "cache2".org_apache_ignite_Comalgorithm (_key OTHER NOT
> NULL,_val OTHER,APCSBJCODE DECIMAL,APCID DECIMAL,AGRSBJCODE DECIMAL,AGRID
> DECIMAL,DAOSBJCODE DECIMAL,DAOID DECIMAL,CTPSBJCODE DECIMAL,CTPID
> DECIMAL,apcsbjcode DECIMAL,apcid DECIMAL,algcode DECIMAL,algisversioned
> SMALLINT,algtype INT,algcalcobjecttype INT,algclasspath VARCHAR,algcomment
> VARCHAR,algopendate DATE,algclosedate DATE,algentstatus INT,agrsbjcode
> DECIMAL,agrid DECIMAL,daosbjcode DECIMAL,daoid DECIMAL,ctpsbjcode
> DECIMAL,ctpid DECIMAL,algusefields VARCHAR) engine
> "org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine"
> [42121-175]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
> at org.h2.message.DbException.get(DbException.java:172)
> at org.h2.message.DbException.get(DbException.java:149)
> at org.h2.table.Table.setColumns(Table.java:394)
> at org.h2.table.TableBase.<init>(TableBase.java:44)
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.<init>(GridH2Table.java:90)
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:618)
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:602)
> at org.h2.schema.Schema.createTable(Schema.java:584)
> at org.h2.command.ddl.CreateTable.update(CreateTable.java:135)
> at org.h2.command.CommandContainer.update(CommandContainer.java:79)
> at org.h2.command.Command.executeUpdate(Command.java:253)
> at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:181)
> at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156)
> at
> org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine.createTable(GridH2Table.java:643)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.createTable(IgniteH2Indexing.java:1166)
> at
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:1051)
> ... 15 more
> [14:30:28,542][INFO][main][GridTcpRestProtocol] Command protocol successfully
> stopped: TCP binary
> [14:30:28,546][SEVERE][main][IgniteKernal] Failed to pre-stop processor:
> GridProcessorAdapter []
> java.lang.NullPointerException
> at
> org.apache.ignite.internal.processors.cache.GridCacheEventManager.isRecordable(GridCacheEventManager.java:348)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:1221)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:938)
> at org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:1851)
> at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:1795)
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:986)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1617)
> at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1484)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:965)
> at
> org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:892)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:784)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:705)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:576)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:546)
> at org.apache.ignite.Ignition.start(Ignition.java:346)
> at
> org.apache.ignite.startup.cmdline.CommandLineStartup.main(CommandLineStartup.java:302)
> [14:30:28,556][INFO][main][GridCacheProcessor] Stopped cache: cache2
> [14:30:28,557][INFO][main][GridCacheProcessor] Stopped cache: ignite-sys-cache
> [14:30:28,558][INFO][main][GridCacheProcessor] Stopped cache:
> ignite-atomics-sys-cache
> [14:30:28,570][INFO][main][IgniteKernal]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)