Andrey Gura created IGNITE-3136: ----------------------------------- Summary: Cache initialization failed on client node in case of dynamic cache start and not binary marshaller Key: IGNITE-3136 URL: https://issues.apache.org/jira/browse/IGNITE-3136 Project: Ignite Issue Type: Bug Reporter: Andrey Gura Priority: Minor
Cache can't be created on client if cluster uses not {{BinaryMarshaller}} and indexing configured for cache with value classes not in client classpath. There are at least two failing cases: 1. Automatic cache creation in case of executing cross cache query on client node 2. Automatic cache creation in case of using JDBC driver with out specified cache name. Steps to reproduce: 1. Both client and server use OptimizedMarshaller. 2. Start server node with cache that should use some non primitive values and have indexing configuring for fields of this value classes. 3. Start client node that doesn't have mentioned value classes in class path and doesn't start cache. 4. On client node execute sql query (e.g. via some default cache) that uses cache name started only on server node. Exception will be thrown: {noformat} SEVERE: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [dummy=false, forcePreload=false, reassign=false, discoEvt=DiscoveryCustomEvent [customMsg=null, affTopVer=AffinityTopologyVersion [topVer=6, minorTopVer=1], super=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=655f9a15-50d1-41fe-9437-65594a280455, addrs=[127.0.0.1, 192.168.0.192], sockAddrs=[/192.168.0.192:0, /127.0.0.1:0, /192.168.0.192:0], discPort=0, order=6, intOrder=0, lastExchangeTime=1463343172508, loc=true, ver=1.6.0#20160513-sha1:85eaa9c3, isClient=true], topVer=6, nodeId8=655f9a15, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1463343174650]], remaining=[61462236-c2f2-4f31-be78-495105a066d6, a07f59c3-348b-42d8-b237-cbb48006c698, 03224102-9daf-4477-ba6a-21ef0105c533], crd=TcpDiscoveryNode [id=03224102-9daf-4477-ba6a-21ef0105c533, addrs=[127.0.0.1, 192.168.0.192], sockAddrs=[/192.168.0.192:47500, /127.0.0.1:47500, /192.168.0.192:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1463343173861, loc=false, ver=1.6.0#20160513-sha1:85eaa9c3, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=6, minorTopVer=1], nodeId=655f9a15, evt=DISCOVERY_CUSTOM_EVT], added=true, initFut=GridFutureAdapter [resFlag=2, res=false, startTime=1463343174650, endTime=1463343174670, ignoreInterrupts=false, state=DONE], init=false, topSnapshot=null, lastVer=null, partReleaseFut=null, affChangeMsg=null, skipPreload=true, clientOnlyExchange=false, initTs=1463343174650, centralizedAff=false, oldest=03224102-9daf-4477-ba6a-21ef0105c533, oldestOrder=1, evtLatch=0, remaining=[61462236-c2f2-4f31-be78-495105a066d6, a07f59c3-348b-42d8-b237-cbb48006c698, 03224102-9daf-4477-ba6a-21ef0105c533], super=GridFutureAdapter [resFlag=1, res=class o.a.i.IgniteCheckedException: Failed to find value class in the node classpath (use default marshaller to enable binary objects) : o.a.i.zeppelin.Person, startTime=1463343174650, endTime=1463343174670, ignoreInterrupts=false, state=DONE]] class org.apache.ignite.IgniteCheckedException: Failed to find value class in the node classpath (use default marshaller to enable binary objects) : org.apache.ignite.zeppelin.Person at org.apache.ignite.internal.processors.query.GridQueryProcessor.initializeCache(GridQueryProcessor.java:249) at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:462) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1043) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1714) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1605) at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:382) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:562) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:445) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1333) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:744) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)