Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-3136

Cache initialization failed on client node in case of dynamic cache start and not binary marshaller

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    Description

      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:

      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)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            agura Andrey N. Gura
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: