You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexey Kuznetsov (JIRA)" <ji...@apache.org> on 2017/10/19 07:18:00 UTC

[jira] [Updated] (IGNITE-6671) [Web Console] Wrong java type used in generated config from DB schema

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

Alexey Kuznetsov updated IGNITE-6671:
-------------------------------------
    Fix Version/s:     (was: 2.3)
                   2.4

> [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: Alexey Kuznetsov
>             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)