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)