You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergi Vladykin (JIRA)" <ji...@apache.org> on 2015/04/10 15:07:13 UTC
[jira] [Closed] (IGNITE-569) Exception with informative message
should be thrown in case type registered in types metadata and indexed
types
[ https://issues.apache.org/jira/browse/IGNITE-569?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergi Vladykin closed IGNITE-569.
---------------------------------
> Exception with informative message should be thrown in case type registered in types metadata and indexed types
> ---------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-569
> URL: https://issues.apache.org/jira/browse/IGNITE-569
> Project: Ignite
> Issue Type: Bug
> Affects Versions: sprint-2
> Reporter: Alexey Kuznetsov
> Assignee: Sergi Vladykin
> Fix For: sprint-3
>
>
> If user by mistake configure same type twice: first in type metadata and second in indexed types not very informative exception will be thrown.
> Need to show message with informative message about exception reason.
> {code}
> [22:24:36,574][ERROR][main][IgniteKernal] Got exception while starting (will rollback startup routine).
> class org.apache.ignite.IgniteCheckedException: Failed to register query type: TypeDescriptor [ccfg=CacheConfiguration [name=Person, rebalancePoolSize=2, rebalanceTimeout=10000, ttl=0, evictPlc=null, evictSync=false, evictKeyBufSize=1024, evictSyncConcurrencyLvl=4, evictSyncTimeout=10000, evictFilter=null, evictMaxOverflowRatio=10.0, eagerTtl=true, dfltLockTimeout=0, startSize=1500000, nearCfg=null, writeSync=PRIMARY_SYNC, storeFactory=org.apache.ignite.schema.Demo$H2DemoStoreFactory@48f2ed4a, loadPrevVal=false, aff=org.apache.ignite.cache.affinity.rendezvous.CacheRendezvousAffinityFunction@72b76539, cacheMode=PARTITIONED, atomicityMode=ATOMIC, atomicWriteOrderMode=PRIMARY, backups=0, invalidate=false, tmLookupClsName=null, rebalanceMode=ASYNC, rebalanceOrder=0, rebalanceBatchSize=524288, offHeapMaxMem=-1, swapEnabled=false, maxConcurrentAsyncOps=500, writeBehindEnabled=false, writeBehindFlushSize=10240, writeBehindFlushFreq=5000, writeBehindFlushThreadCnt=1, writeBehindBatchSize=512, memMode=ONHEAP_TIERED, affMapper=org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper@6656bc05, rebalanceDelay=0, rebalanceThrottle=0, interceptor=null, longQryWarnTimeout=3000, readFromBackup=true, nodeFilter=org.apache.ignite.configuration.CacheConfiguration$1@485220c0, sqlEscapeAll=false, sqlOnheapRowCacheSize=10240, cpOnRead=true], name=Person, fields={Id=int, FirstName=class java.lang.String, LastName=class java.lang.String, Salary=double}, indexes={Id_idx=IndexDescriptor [type=SORTED]}, fullTextIdx=null, keyCls=class org.apache.ignite.schema.PersonKey, valCls=class org.apache.ignite.schema.Person, valTextIdx=false, registered=false]
> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:877)
> at org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:146)
> at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:218)
> at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:807)
> at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:674)
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:813)
> at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1435)
> at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1303)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:882)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:481)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:462)
> at org.apache.ignite.Ignition.start(Ignition.java:306)
> at org.apache.ignite.schema.Demo.main(Demo.java:72)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
> Caused by: org.h2.jdbc.JdbcSQLException: Таблица "PERSON" уже существует
> Table "PERSON" already exists; SQL statement:
> CREATE TABLE "Person".Person (_key OTHER NOT NULL,_val OTHER,Id INT,FirstName VARCHAR,LastName VARCHAR,Salary DOUBLE) engine "org.apache.ignite.internal.processors.query.h2.opt.GridH2Table$Engine" [42101-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.command.ddl.CreateTable.update(CreateTable.java:109)
> 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:614)
> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.createTable(IgniteH2Indexing.java:986)
> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:870)
> ... 17 more
> [22:24:36,580][ERROR][main][IgniteKernal] Failed to pre-stop processor: GridProcessorAdapter []
> java.lang.NullPointerException
> at org.apache.ignite.internal.processors.cache.GridCacheEventManager.isRecordable(GridCacheEventManager.java:342)
> at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:968)
> at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStop(GridCacheProcessor.java:781)
> at org.apache.ignite.internal.IgniteKernal.stop0(IgniteKernal.java:1712)
> at org.apache.ignite.internal.IgniteKernal.stop(IgniteKernal.java:1665)
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:836)
> at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1435)
> at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1303)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:882)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:481)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:462)
> at org.apache.ignite.Ignition.start(Ignition.java:306)
> at org.apache.ignite.schema.Demo.main(Demo.java:72)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
> [22:24:36] Ignite node stopped wih ERRORS [uptime=00:00:04:416]
> Exception in thread "main" class org.apache.ignite.IgniteException: Failed to register query type: TypeDescriptor [ccfg=CacheConfiguration [name=Person, rebalancePoolSize=2, rebalanceTimeout=10000, ttl=0, evictPlc=null, evictSync=false, evictKeyBufSize=1024, evictSyncConcurrencyLvl=4, evictSyncTimeout=10000, evictFilter=null, evictMaxOverflowRatio=10.0, eagerTtl=true, dfltLockTimeout=0, startSize=1500000, nearCfg=null, writeSync=PRIMARY_SYNC, storeFactory=org.apache.ignite.schema.Demo$H2DemoStoreFactory@48f2ed4a, loadPrevVal=false, aff=org.apache.ignite.cache.affinity.rendezvous.CacheRendezvousAffinityFunction@72b76539, cacheMode=PARTITIONED, atomicityMode=ATOMIC, atomicWriteOrderMode=PRIMARY, backups=0, invalidate=false, tmLookupClsName=null, rebalanceMode=ASYNC, rebalanceOrder=0, rebalanceBatchSize=524288, offHeapMaxMem=-1, swapEnabled=false, maxConcurrentAsyncOps=500, writeBehindEnabled=false, writeBehindFlushSize=10240, writeBehindFlushFreq=5000, writeBehindFlushThreadCnt=1, writeBehindBatchSize=512, memMode=ONHEAP_TIERED, affMapper=org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper@6656bc05, rebalanceDelay=0, rebalanceThrottle=0, interceptor=null, longQryWarnTimeout=3000, readFromBackup=true, nodeFilter=org.apache.ignite.configuration.CacheConfiguration$1@485220c0, sqlEscapeAll=false, sqlOnheapRowCacheSize=10240, cpOnRead=true], name=Person, fields={Id=int, FirstName=class java.lang.String, LastName=class java.lang.String, Salary=double}, indexes={Id_idx=IndexDescriptor [type=SORTED]}, fullTextIdx=null, keyCls=class org.apache.ignite.schema.PersonKey, valCls=class org.apache.ignite.schema.Person, valTextIdx=false, registered=false]
> at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:660)
> at org.apache.ignite.Ignition.start(Ignition.java:309)
> at org.apache.ignite.schema.Demo.main(Demo.java:72)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to register query type: TypeDescriptor [ccfg=CacheConfiguration [name=Person, rebalancePoolSize=2, rebalanceTimeout=10000, ttl=0, evictPlc=null, evictSync=false, evictKeyBufSize=1024, evictSyncConcurrencyLvl=4, evictSyncTimeout=10000, evictFilter=null, evictMaxOverflowRatio=10.0, eagerTtl=true, dfltLockTimeout=0, startSize=1500000, nearCfg=null, writeSync=PRIMARY_SYNC, storeFactory=org.apache.ignite.schema.Demo$H2DemoStoreFactory@48f2ed4a, loadPrevVal=false, aff=org.apache.ignite.cache.affinity.rendezvous.CacheRendezvousAffinityFunction@72b76539, cacheMode=PARTITIONED, atomicityMode=ATOMIC, atomicWriteOrderMode=PRIMARY, backups=0, invalidate=false, tmLookupClsName=null, rebalanceMode=ASYNC, rebalanceOrder=0, rebalanceBatchSize=524288, offHeapMaxMem=-1, swapEnabled=false, maxConcurrentAsyncOps=500, writeBehindEnabled=false, writeBehindFlushSize=10240, writeBehindFlushFreq=5000, writeBehindFlushThreadCnt=1, writeBehindBatchSize=512, memMode=ONHEAP_TIERED, affMapper=org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper@6656bc05, rebalanceDelay=0, rebalanceThrottle=0, interceptor=null, longQryWarnTimeout=3000, readFromBackup=true, nodeFilter=org.apache.ignite.configuration.CacheConfiguration$1@485220c0, sqlEscapeAll=false, sqlOnheapRowCacheSize=10240, cpOnRead=true], name=Person, fields={Id=int, FirstName=class java.lang.String, LastName=class java.lang.String, Salary=double}, indexes={Id_idx=IndexDescriptor [type=SORTED]}, fullTextIdx=null, keyCls=class org.apache.ignite.schema.PersonKey, valCls=class org.apache.ignite.schema.Person, valTextIdx=false, registered=false]
> at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.registerType(IgniteH2Indexing.java:877)
> at org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:146)
> at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:218)
> at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:807)
> at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:674)
> at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:813)
> at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1435)
> at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1303)
> at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:882)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:481)
> at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:462)
> at org.apache.ignite.Ignition.start(Ignition.java:306)
> ... 6 more
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)