Re: NullPointerException when destroying cache

classic Classic list List threaded Threaded
1 message Options
Denis Mekhanikov Denis Mekhanikov
Reply | Threaded
Open this post in threaded view
|

Re: NullPointerException when destroying cache

Thanks for the report!
I created a JIRA issue for that: https://issues.apache.org/jira/browse/IGNITE-13398
This bug doesn't seem to have any impact in your case.

The following case is affected though:
If you have multiple services, one of which has ServiceConfiguration#cacheName specified: https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/services/ServiceConfiguration.html#setCacheName-java.lang.String-
Normally, if you destroy a cache, and some service depends on it, then it leads to undeployment of this service.
Because of this bug, processing of the cache destruction may be interrupted, so the service won't be undeployed.

Otherwise this bug doesn't have any negative effects.

Denis

вт, 1 сент. 2020 г. в 11:52, Benjamin <[hidden email]>:
Hello,

If I destroy a cache when a node singleton service is deployed, a
NullPointerException is logged.
The cache destroying process still terminates successfully though.
So it does not seems harmful, but it pollutes the logs and I wonder if it's
really harmless.

This happens in 2.8.0 and 2.8.1, but not in 2.7.5.


You can find attached a simple example reproducing this.  Main.java
<http://apache-ignite-users.70518.x6.nabble.com/file/t2439/Main.java

The error message is the following:
Sep 01, 2020 10:46:35 AM org.apache.ignite.logger.java.JavaLogger error
SEVERE: Failed to notify direct custom event listener:
DynamicCacheChangeBatch
[id=33788d84471-920edd0a-25b5-4d6d-9684-33f0524e9e0d, reqs=ArrayList
[DynamicCacheChangeRequest [cacheName=foo, hasCfg=false,
nodeId=d9234a21-9fa5-48b3-904b-d84a9cee9d25, clientStartOnly=false,
stop=true, destroy=false, disabledAfterStartfalse]],
exchangeActions=ExchangeActions [startCaches=null, stopCaches=[foo],
startGrps=[], stopGrps=[foo, destroy=true], resetParts=null,
stateChangeRequest=null], startCaches=false]
java.lang.NullPointerException
        at
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.lambda$processDynamicCacheChangeRequest$6(IgniteServiceProcessor.java:1694)
        at java.util.Collection.removeIf(Collection.java:414)
        at
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.processDynamicCacheChangeRequest(IgniteServiceProcessor.java:1691)
        at
org.apache.ignite.internal.processors.service.IgniteServiceProcessor.access$200(IgniteServiceProcessor.java:108)
        at
org.apache.ignite.internal.processors.service.IgniteServiceProcessor$3.onCustomEvent(IgniteServiceProcessor.java:232)
        at
org.apache.ignite.internal.processors.service.IgniteServiceProcessor$3.onCustomEvent(IgniteServiceProcessor.java:229)
        at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:665)
        at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:528)
        at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2625)
        at
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2663)
        at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        at java.lang.Thread.run(Thread.java:748)




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/