[ 
https://issues.apache.org/jira/browse/IGNITE-12580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17025774#comment-17025774
 ] 

Andrey N. Gura edited comment on IGNITE-12580 at 1/29/20 10:17 AM:
-------------------------------------------------------------------

[~ascherbakov] [~nizhikov] The change fixes NPE but not root cause. Root cause, 
I believe, is attempt to remove metric configuration on cache stop while it 
should be done only on cache destroy. 

Cache stop will be performed for example on node stop. After node start cache 
will be started too but metric configuration is already removed and will not 
applied to the cache metrics. 


was (Author: agura):
[~ascherbakov] [~nizhikov] The change fixes NPE but not root cause. Root cause, 
I believe, is attempt to remove metric configuration on cache stop while it 
should be done only on cache destroy. 

> NPE in GridMetricManager
> ------------------------
>
>                 Key: IGNITE-12580
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12580
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexey Scherbakov
>            Assignee: Nikolay Izhikov
>            Priority: Blocker
>             Fix For: 2.8
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> NPE is thrown during cache recovery:
> {noformat}
> class org.apache.ignite.IgniteCheckedException: null
>       at 
> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7534)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:260)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:234)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:160)
>       at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:152)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:816)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:675)
>       at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1375)
>       at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2038)
>       at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1703)
>       at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1117)
>       at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:615)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:1017)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:958)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:946)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest.startGrid(GridAbstractTest.java:895)
>       at 
> org.apache.ignite.internal.processors.cache.persistence.LocalWalModeChangeDuringRebalancingSelfTest.doTestSimple(LocalWalModeChangeDuringRebalancingSelfTest.java:263)
>       at 
> org.apache.ignite.internal.processors.cache.persistence.LocalWalModeChangeDuringRebalancingSelfTest.testWalDisabledDuringRebalancing(LocalWalModeChangeDuringRebalancingSelfTest.java:234)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>       at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2124)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.NullPointerException
>       at 
> org.apache.ignite.internal.processors.metric.GridMetricManager.remove(GridMetricManager.java:396)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.stop(GridCacheAdapter.java:669)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.stopCache(GridCacheProcessor.java:1024)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.stopCache(GridCacheProcessor.java:998)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.stopCaches(GridCacheProcessor.java:754)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor$CacheRecoveryLifecycle.onBaselineChange(GridCacheProcessor.java:5460)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:982)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:849)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:3236)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:3085)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>       ... 1 more
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to