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

JCache TCK fails with IgniteCheckedException and NullPointerException

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • 2.8
    • 2.8
    • cache
    • None

    Description

      It seems a long period of time, JCache suite did not run TCK tests (it seems that TeamCity uses the wrong maven goal - surefire:test instead of test) and for now, more than 90 tests are broken.
      For example:

      javax.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Failed to complete exchange process.
      	at org.jsr107.tck.integration.CacheWriterTest.onBeforeEachTest(CacheWriterTest.java:109)
      Caused by: org.apache.ignite.IgniteCheckedException: Failed to complete exchange process.
      
      shouldWriteThroughUsingGetAndPut_SingleEntryMultipleTimes(org.jsr107.tck.integration.CacheWriterTest)  Time elapsed: 0.004 s  <<< ERROR!
      java.lang.NullPointerException
      	at org.jsr107.tck.integration.CacheWriterTest.cleanup(CacheWriterTest.java:117)
      
      SEVERE: Failed to initialize cache(s) (will try to rollback) [exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=1, minorTopVer=161], discoEvt=DiscoveryCustomEvent [customMsg=DynamicCacheChangeBatch [id=fe5df36de61-0dd20864-f118-4e11-bcf2-12a651e87cb0, reqs=ArrayList [DynamicCacheChangeRequest [cacheName=cache-loader-test, hasCfg=true, nodeId=4bed4ec0-7d64-473d-bc55-e5f79b9a02ab, clientStartOnly=false, stop=false, destroy=false, disabledAfterStartfalse]], exchangeActions=ExchangeActions [startCaches=[cache-loader-test], stopCaches=null, startGrps=[cache-loader-test], stopGrps=[], resetParts=null, stateChangeRequest=null], startCaches=false], affTopVer=AffinityTopologyVersion [topVer=1, minorTopVer=161], super=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=4bed4ec0-7d64-473d-bc55-e5f79b9a02ab, consistentId=0:0:0:0:0:0:0:1,127.0.0.1,172.17.251.129,172.25.4.114:47500, addrs=ArrayList [0:0:0:0:0:0:0:1, 127.0.0.1, 172.17.251.129, 172.25.4.114], sockAddrs=HashSet [/0:0:0:0:0:0:0:1:47500, /127.0.0.1:47500, DESKTOP-IMRCA1M.mshome.net/172.17.251.129:47500, /172.25.4.114:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1575552670125, loc=true, ver=2.8.0#20191205-sha1:00000000, isClient=false], topVer=1, nodeId8=4bed4ec0, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1575552674811]], nodeId=4bed4ec0, evt=DISCOVERY_CUSTOM_EVT], caches=[o.a.i.i.processors.cache.ExchangeActions$CacheGroupActionData@24671b0e]]SEVERE: Failed to initialize cache(s) (will try to rollback) [exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=1, minorTopVer=161], discoEvt=DiscoveryCustomEvent [customMsg=DynamicCacheChangeBatch [id=fe5df36de61-0dd20864-f118-4e11-bcf2-12a651e87cb0, reqs=ArrayList [DynamicCacheChangeRequest [cacheName=cache-loader-test, hasCfg=true, nodeId=4bed4ec0-7d64-473d-bc55-e5f79b9a02ab, clientStartOnly=false, stop=false, destroy=false, disabledAfterStartfalse]], exchangeActions=ExchangeActions [startCaches=[cache-loader-test], stopCaches=null, startGrps=[cache-loader-test], stopGrps=[], resetParts=null, stateChangeRequest=null], startCaches=false], affTopVer=AffinityTopologyVersion [topVer=1, minorTopVer=161], super=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=4bed4ec0-7d64-473d-bc55-e5f79b9a02ab, consistentId=0:0:0:0:0:0:0:1,127.0.0.1,172.17.251.129,172.25.4.114:47500, addrs=ArrayList [0:0:0:0:0:0:0:1, 127.0.0.1, 172.17.251.129, 172.25.4.114], sockAddrs=HashSet [/0:0:0:0:0:0:0:1:47500, /127.0.0.1:47500, DESKTOP-IMRCA1M.mshome.net/172.17.251.129:47500, /172.25.4.114:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1575552670125, loc=true, ver=2.8.0#20191205-sha1:00000000, isClient=false], topVer=1, nodeId8=4bed4ec0, msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1575552674811]], nodeId=4bed4ec0, evt=DISCOVERY_CUSTOM_EVT], caches=[o.a.i.i.processors.cache.ExchangeActions$CacheGroupActionData@24671b0e]]class org.apache.ignite.IgniteCheckedException: Cannot enable read-through (loader or store is not provided) for cache: cache-loader-test at org.apache.ignite.internal.processors.cache.ValidationOnNodeJoinUtils.validate(ValidationOnNodeJoinUtils.java:348) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCacheContext(GridCacheProcessor.java:1190) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheContext(GridCacheProcessor.java:1984) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1915) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$55a0e703$1(GridCacheProcessor.java:1790) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCachesIfPossible$9(GridCacheProcessor.java:1760) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCaches(GridCacheProcessor.java:1787) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCachesIfPossible(GridCacheProcessor.java:1758) at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processCacheStartRequests(CacheAffinitySharedManager.java:968) at org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:854) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1281) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:811) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:3172) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:3021) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at java.lang.Thread.run(Thread.java:748)
      

      The root cause of the failure isĀ IGNITE-1903 . At first glance, it can be easily fixed.
      I think that cache configuration initialization should be done before it is split by CacheConfigurationSplitter - GridCacheProcessor.prepareCacheChangeRequest()

      Attachments

        Issue Links

          Activity

            People

              slava.koptilin Vyacheslav Koptilin
              slava.koptilin Vyacheslav Koptilin
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 2h 10m
                  2h 10m