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)

Reply via email to