[ 
https://issues.apache.org/jira/browse/IGNITE-6671?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vasiliy Sisko reassigned IGNITE-6671:
-------------------------------------

    Assignee: Pavel Konstantinov  (was: Vasiliy Sisko)

> [Web Console] Wrong java type used in generated config from DB schema
> ---------------------------------------------------------------------
>
>                 Key: IGNITE-6671
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6671
>             Project: Ignite
>          Issue Type: Bug
>      Security Level: Public(Viewable by anyone) 
>    Affects Versions: 2.2
>            Reporter: Dmitry Karachentsev
>            Assignee: Pavel Konstantinov
>             Fix For: 2.4
>
>
> We should be confident that java types in generated config are able to fit in 
> values from DB. For example, WC generates short for Oracle's NUMBER(5), when 
> short could be max 32767, but NUMBER(5) - 99999.
> That may produce errors like below during DB import:
> {noformat}
>  Exception in thread "main" javax.cache.integration.CacheLoaderException: 
> Failed to load cache: test
>        at 
> org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore.loadCache(CacheAbstractJdbcStore.java:798)
>        at 
> org.apache.ignite.internal.processors.cache.store.GridCacheStoreManagerAdapter.loadCache(GridCacheStoreManagerAdapter.java:502)
>        at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter.localLoadCache(GridDhtCacheAdapter.java:486)
>        at 
> org.apache.ignite.internal.processors.cache.GridCacheProxyImpl.localLoadCache(GridCacheProxyImpl.java:217)
>        at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJob.localExecute(GridCacheAdapter.java:5439)
>        at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$LoadCacheJobV2.localExecute(GridCacheAdapter.java:5488)
>        at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$TopologyVersionAwareJob.execute(GridCacheAdapter.java:6103)
>        at 
> org.apache.ignite.compute.ComputeJobAdapter.call(ComputeJobAdapter.java:132)
>        at 
> org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1842)
>        at 
> org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:566)
>        at 
> org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6621)
>        at 
> org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:560)
>        at 
> org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:489)
>        at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>        at 
> org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1114)
>        at 
> org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1907)
>        at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1257)
>        at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:885)
>        at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$2100(GridIoManager.java:114)
>        at 
> org.apache.ignite.internal.managers.communication.GridIoManager$7.run(GridIoManager.java:802)
>        at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>        at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>        at java.lang.Thread.run(Thread.java:745)
> Caused by: javax.cache.CacheException: Failed to read binary object: 
> org.apache.TestModel
>        at 
> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStore.buildBinaryObject(CacheJdbcPojoStore.java:255)
>        at 
> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStore.buildObject(CacheJdbcPojoStore.java:136)
>        at 
> org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore$1.call(CacheAbstractJdbcStore.java:463)
>        at 
> org.apache.ignite.cache.store.jdbc.CacheAbstractJdbcStore$1.call(CacheAbstractJdbcStore.java:430)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>        ... 3 more
> Caused by: java.sql.SQLException: Numeric Overflow
>        at 
> oracle.jdbc.driver.NumberCommonAccessor.throwOverflow(NumberCommonAccessor.java:4170)
>        at 
> oracle.jdbc.driver.NumberCommonAccessor.getShort(NumberCommonAccessor.java:311)
>        at 
> oracle.jdbc.driver.GeneratedStatement.getShort(GeneratedStatement.java:305)
>        at 
> oracle.jdbc.driver.GeneratedScrollableResultSet.getShort(GeneratedScrollableResultSet.java:879)
>        at 
> org.apache.ignite.cache.store.jdbc.JdbcTypesDefaultTransformer.getColumnValue(JdbcTypesDefaultTransformer.java:84)
>        at 
> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStore.buildBinaryObject(CacheJdbcPojoStore.java:247)
>        ... 7 more
> {noformat}
> *This should be checked for all supported databases.*



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to