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

Ivan Bessonov resolved IGNITE-10521.
------------------------------------
    Resolution: Won't Fix

> Creating table with datetime for PK leads to j.l.IndexOutOfBoundsException on 
> server node
> -----------------------------------------------------------------------------------------
>
>                 Key: IGNITE-10521
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10521
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.5, 2.7
>            Reporter: Sergey Kozlov
>            Assignee: Ivan Bessonov
>            Priority: Critical
>             Fix For: 2.8
>
>
> 1. Start serve node with PDS
> 2. Run sqlline via thin driver
> 3. Execute
> {noformat}
> 0: jdbc:ignite:thin://127.0.0.1/> CREATE TABLE t308 ( id DATE NOT NULL, col1 
> INT NOT NULL, col2 VARCHAR, PRIMARY KEY (id
> )) ;
> Error: class org.apache.ignite.IgniteCheckedException: Failed to find value 
> class in the node classpath (use default mar
> shaller to enable binary objects) : 
> SQL_PUBLIC_T308_bb0725c8_7db7_4309_8f4a_a63d2fffa706 (state=50000,code=0)
> java.sql.SQLException: class org.apache.ignite.IgniteCheckedException: Failed 
> to find value class in the node classpath
> (use default marshaller to enable binary objects) : 
> SQL_PUBLIC_T308_bb0725c8_7db7_4309_8f4a_a63d2fffa706
>         at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection.sendRequest(JdbcThinConnection.java:753)
>         at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute0(JdbcThinStatement.java:210)
>         at 
> org.apache.ignite.internal.jdbc.thin.JdbcThinStatement.execute(JdbcThinStatement.java:473)
>         at sqlline.Commands.execute(Commands.java:823)
>         at sqlline.Commands.sql(Commands.java:733)
>         at sqlline.SqlLine.dispatch(SqlLine.java:795)
>         at sqlline.SqlLine.begin(SqlLine.java:668)
>         at sqlline.SqlLine.start(SqlLine.java:373)
>         at sqlline.SqlLine.main(SqlLine.java:265)
> {noformat}
> We do not support datetime for PK but server node stopped:
> {noformat}
> [14:26:32,882][INFO][exchange-worker-#43][CacheAffinitySharedManager] 
> Updating caches registry performed in 3 ms.
> [14:26:32,963][SEVERE][exchange-worker-#43][CacheAffinitySharedManager] 
> Failed to initialize cache. Will try to rollback cache start routine. 
> [cacheName=SQL_PUBLIC_T2]
> class org.apache.ignite.IgniteCheckedException: Failed to find value class in 
> the node classpath (use default marshaller to enable binary objects) : 
> SQL_PUBLIC_T2_7080b5da_4dde_4491_b596_4a085313a98d
>       at 
> org.apache.ignite.internal.processors.query.QueryUtils.typeForQueryEntity(QueryUtils.java:451)
>       at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart0(GridQueryProcessor.java:700)
>       at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:860)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1212)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1972)
>       at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processCacheStartRequests(CacheAffinitySharedManager.java:880)
>       at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:780)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1065)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:696)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2582)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2462)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>       at java.lang.Thread.run(Thread.java:748)
> [14:26:32,964][INFO][exchange-worker-#43][CacheAffinitySharedManager] Caches 
> starting performed in 82 ms.
> [14:26:32,966][INFO][exchange-worker-#43][CacheAffinitySharedManager] 
> Affinity initialization for started caches performed in 2 ms.
> [14:26:32,968][INFO][exchange-worker-#43][GridDhtPartitionsExchangeFuture] 
> Finished waiting for partition release future [topVer=AffinityTopologyVersion 
> [topVer=4, minorTopVer=4], waitTime=0ms, futInfo=NA, mode=DISTRIBUTED]
> [14:26:32,973][INFO][exchange-worker-#43][GridDhtPartitionsExchangeFuture] 
> Finished waiting for partitions release latch: ClientLatch 
> [coordinator=TcpDiscoveryNode [id=904904a6-d889-4265-8866-dba136019718, 
> addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], 
> discPort=47500, order=1, intOrder=1, lastExchangeTime=1543922782601, 
> loc=false, ver=2.5.3#20181026-sha1:6261c02a, isClient=false], ackSent=true, 
> super=CompletableLatch [id=exchange, topVer=AffinityTopologyVersion 
> [topVer=4, minorTopVer=4]]]
> [14:26:32,973][INFO][exchange-worker-#43][GridDhtPartitionsExchangeFuture] 
> Finished waiting for partition release future [topVer=AffinityTopologyVersion 
> [topVer=4, minorTopVer=4], waitTime=0ms, futInfo=NA, mode=LOCAL]
> [14:26:33,006][INFO][exchange-worker-#43][GridCacheDatabaseSharedManager] 
> Logical recovery performed in 33 ms.
> [14:26:33,011][SEVERE][exchange-worker-#43][GridDhtPartitionsExchangeFuture] 
> Failed to reinitialize local partitions (rebalancing will be stopped): 
> GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=4, 
> minorTopVer=4], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode 
> [id=904904a6-d889-4265-8866-dba136019718, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, intOrder=1, 
> lastExchangeTime=1543922782601, loc=false, ver=2.5.3#20181026-sha1:6261c02a, 
> isClient=false], topVer=4, nodeId8=cd968755, msg=null, 
> type=DISCOVERY_CUSTOM_EVT, tstamp=1543922792875]DiscoveryCustomEvent 
> [customMsg=DynamicCacheChangeBatch 
> [id=425a7f87761-d0d86ce5-54a6-421b-8983-59f2d300e92a, reqs=ArrayList 
> [DynamicCacheChangeRequest [cacheName=SQL_PUBLIC_T2, hasCfg=true, 
> nodeId=904904a6-d889-4265-8866-dba136019718, clientStartOnly=false, 
> stop=false, destroy=false, disabledAfterStartfalse]], 
> exchangeActions=ExchangeActions [startCaches=[SQL_PUBLIC_T2], 
> stopCaches=null, startGrps=[SQL_PUBLIC_T2], stopGrps=[], resetParts=null, 
> stateChangeRequest=null], startCaches=false], 
> affTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=4], super=], 
> nodeId=904904a6, evt=DISCOVERY_CUSTOM_EVT]
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>       at java.util.ArrayList.rangeCheck(ArrayList.java:657)
>       at java.util.ArrayList.get(ArrayList.java:433)
>       at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.singleCacheContext(CacheGroupContext.java:374)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition.<init>(GridDhtLocalPartition.java:200)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.getOrCreatePartition(GridDhtPartitionTopologyImpl.java:842)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.initPartitions(GridDhtPartitionTopologyImpl.java:395)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.beforeExchange(GridDhtPartitionTopologyImpl.java:574)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.distributedExchange(GridDhtPartitionsExchangeFuture.java:1252)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:762)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2582)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2462)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>       at java.lang.Thread.run(Thread.java:748)
> [14:26:33,011][INFO][exchange-worker-#43][GridDhtPartitionsExchangeFuture] 
> Finish exchange future [startVer=AffinityTopologyVersion [topVer=4, 
> minorTopVer=4], resVer=null, err=java.lang.IndexOutOfBoundsException: Index: 
> 0, Size: 0]
> [14:26:33,011][INFO][exchange-worker-#43][GridCacheDatabaseSharedManager] 
> Finished indexes rebuilding for cache [name=SQL_PUBLIC_T2, grpName=null]
> [14:26:33,013][INFO][exchange-worker-#43][GridDhtPartitionsExchangeFuture] 
> Completed partition exchange [localNode=cd968755-0d29-452d-970b-2d9920862016, 
> exchange=GridDhtPartitionsExchangeFuture [topVer=AffinityTopologyVersion 
> [topVer=4, minorTopVer=4], evt=DISCOVERY_CUSTOM_EVT, evtNode=TcpDiscoveryNode 
> [id=904904a6-d889-4265-8866-dba136019718, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, intOrder=1, 
> lastExchangeTime=1543922782601, loc=false, ver=2.5.3#20181026-sha1:6261c02a, 
> isClient=false], done=true], topVer=null, durationFromInit=131]
> [14:26:33,016][SEVERE][exchange-worker-#43][GridCachePartitionExchangeManager]
>  Failed to wait for completion of partition map exchange (preloading will not 
> start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent 
> [evtNode=TcpDiscoveryNode [id=904904a6-d889-4265-8866-dba136019718, 
> addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], 
> discPort=47500, order=1, intOrder=1, lastExchangeTime=1543922782601, 
> loc=false, ver=2.5.3#20181026-sha1:6261c02a, isClient=false], topVer=4, 
> nodeId8=cd968755, msg=null, type=DISCOVERY_CUSTOM_EVT, 
> tstamp=1543922792875]DiscoveryCustomEvent [customMsg=null, 
> affTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=4], super=], 
> crd=TcpDiscoveryNode [id=904904a6-d889-4265-8866-dba136019718, 
> addrs=ArrayList [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:47500], 
> discPort=47500, order=1, intOrder=1, lastExchangeTime=1543922782601, 
> loc=false, ver=2.5.3#20181026-sha1:6261c02a, isClient=false], 
> exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=4, 
> minorTopVer=4], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode 
> [id=904904a6-d889-4265-8866-dba136019718, addrs=ArrayList [127.0.0.1], 
> sockAddrs=HashSet [/127.0.0.1:47500], discPort=47500, order=1, intOrder=1, 
> lastExchangeTime=1543922782601, loc=false, ver=2.5.3#20181026-sha1:6261c02a, 
> isClient=false], topVer=4, nodeId8=cd968755, msg=null, 
> type=DISCOVERY_CUSTOM_EVT, tstamp=1543922792875]DiscoveryCustomEvent 
> [customMsg=null, affTopVer=AffinityTopologyVersion [topVer=4, minorTopVer=4], 
> super=], nodeId=904904a6, evt=DISCOVERY_CUSTOM_EVT], added=true, 
> initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, 
> hash=1570565176], init=false, lastVer=null, 
> partReleaseFut=AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]AffinityTopologyVersion [topVer=4, 
> minorTopVer=4]PartitionReleaseFuture [topVer=, 
> futures=[ExplicitLockReleaseFuture [topVer=, futures=[]], 
> AtomicUpdateReleaseFuture [topVer=, futures=[]], DataStreamerReleaseFuture 
> [topVer=, futures=[]], LocalTxReleaseFuture [topVer=, futures=[]], 
> AllTxReleaseFuture [topVer=, futures=[RemoteTxReleaseFuture [topVer=, 
> futures=[]]]]]], exchActions=null, affChangeMsg=null, initTs=1543922792875, 
> centralizedAff=false, forceAffReassignment=false, exchangeLocE=null, 
> cacheChangeFailureMsgSent=false, done=true, state=SRV, 
> registerCachesFuture=GridFutureAdapter [ignoreInterrupts=false, state=DONE, 
> res=null, hash=519408125], partitionsSent=false, partitionsReceived=false, 
> delayedLatestMsg=null, evtLatch=0, remaining=HashSet 
> [b08b7933-808c-440c-85db-3029ef829cfa, 0932d43c-6d7b-4cd9-877a-0e9cbc5542bc, 
> 904904a6-d889-4265-8866-dba136019718], super=GridFutureAdapter 
> [ignoreInterrupts=false, state=DONE, res=java.lang.IndexOutOfBoundsException: 
> Index: 0, Size: 0, hash=314362093]]
> class org.apache.ignite.IgniteCheckedException: Index: 0, Size: 0
>       at 
> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7358)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2603)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2462)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>       at java.util.ArrayList.rangeCheck(ArrayList.java:657)
>       at java.util.ArrayList.get(ArrayList.java:433)
>       at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.singleCacheContext(CacheGroupContext.java:374)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition.<init>(GridDhtLocalPartition.java:200)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.getOrCreatePartition(GridDhtPartitionTopologyImpl.java:842)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.initPartitions(GridDhtPartitionTopologyImpl.java:395)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtPartitionTopologyImpl.beforeExchange(GridDhtPartitionTopologyImpl.java:574)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.distributedExchange(GridDhtPartitionsExchangeFuture.java:1252)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:762)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2582)
>       ... 3 more
> [14:26:33,018][SEVERE][exchange-worker-#43][] Critical system error detected. 
> Will be handled accordingly to configured handler [hnd=class 
> o.a.i.failure.StopNodeOrHaltFailureHandler, failureCtx=FailureContext 
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteCheckedException: 
> Index: 0, Size: 0]]
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to