NullPointerException when destroying caches

classic Classic list List threaded Threaded
3 messages Options
Benjamin Benjamin
Reply | Threaded
Open this post in threaded view
|

NullPointerException when destroying caches

Hello,

 

If I destroy a cache when a service is deployed, there is an error message with a NullPointerException that is logged by ignite.

This does not seems harmful to me, since the cache destroying terminates successfully. Can you confirm that?

Its also annoying because it pollutes the logs a lot.

 

This happens in 2.8.1 and 2.8.0, but not in 2.7.x or lower.

 

You can find attached an example to reproduce this.

 

The error message and stack trace are the following:

Sep 02, 2020 8:50:29 AM org.apache.ignite.logger.java.JavaLogger error

SEVERE: Failed to notify direct custom event listener: DynamicCacheChangeBatch [id=553849d4471-5ac52f5c-11b5-454f-965e-3c6e7bcb7a5a, reqs=ArrayList [DynamicCacheChangeRequest [cacheName=foo, hasCfg=false, nodeId=2e57fb89-5665-48fb-a0e9-fbd880e8d4b3, 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:2608)

       at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2646)

       at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)

       at java.lang.Thread.run(Thread.java:748)

 

 

 

Regards,

 

 

Benjamin


Main.java (2K) Download Attachment
Kseniya Romanova Kseniya Romanova
Reply | Threaded
Open this post in threaded view
|

Re: NullPointerException when destroying caches

Hi Benjamin! Just in case the question is still relevant, you can join tomorrow's Q&A session[1]   to reach Ignite developers with this question.

Cheers,
Kseniya

[1] https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/273921637/

ср, 2 сент. 2020 г. в 09:51, Garaude, Benjamin <[hidden email]>:

Hello,

 

If I destroy a cache when a service is deployed, there is an error message with a NullPointerException that is logged by ignite.

This does not seems harmful to me, since the cache destroying terminates successfully. Can you confirm that?

Its also annoying because it pollutes the logs a lot.

 

This happens in 2.8.1 and 2.8.0, but not in 2.7.x or lower.

 

You can find attached an example to reproduce this.

 

The error message and stack trace are the following:

Sep 02, 2020 8:50:29 AM org.apache.ignite.logger.java.JavaLogger error

SEVERE: Failed to notify direct custom event listener: DynamicCacheChangeBatch [id=553849d4471-5ac52f5c-11b5-454f-965e-3c6e7bcb7a5a, reqs=ArrayList [DynamicCacheChangeRequest [cacheName=foo, hasCfg=false, nodeId=2e57fb89-5665-48fb-a0e9-fbd880e8d4b3, 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:2608)

       at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2646)

       at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)

       at java.lang.Thread.run(Thread.java:748)

 

 

 

Regards,

 

 

Benjamin

Ilya Kazakov Ilya Kazakov
Reply | Threaded
Open this post in threaded view
|

Re: NullPointerException when destroying caches

Hi, Benjamin!

1. This is a known issue: https://issues.apache.org/jira/browse/IGNITE-13398
2. About a harmful, as I understand from sources. Perhaps due to the exception, some services that should have been undeployed due to the destruction of the cache will not be undeployed.

--------------------
Ilya Kazakov

пн, 19 окт. 2020 г. в 22:31, Kseniya Romanova <[hidden email]>:
Hi Benjamin! Just in case the question is still relevant, you can join tomorrow's Q&A session[1]   to reach Ignite developers with this question.

Cheers,
Kseniya

[1] https://www.meetup.com/Apache-Ignite-Virtual-Meetup/events/273921637/

ср, 2 сент. 2020 г. в 09:51, Garaude, Benjamin <[hidden email]>:

Hello,

 

If I destroy a cache when a service is deployed, there is an error message with a NullPointerException that is logged by ignite.

This does not seems harmful to me, since the cache destroying terminates successfully. Can you confirm that?

Its also annoying because it pollutes the logs a lot.

 

This happens in 2.8.1 and 2.8.0, but not in 2.7.x or lower.

 

You can find attached an example to reproduce this.

 

The error message and stack trace are the following:

Sep 02, 2020 8:50:29 AM org.apache.ignite.logger.java.JavaLogger error

SEVERE: Failed to notify direct custom event listener: DynamicCacheChangeBatch [id=553849d4471-5ac52f5c-11b5-454f-965e-3c6e7bcb7a5a, reqs=ArrayList [DynamicCacheChangeRequest [cacheName=foo, hasCfg=false, nodeId=2e57fb89-5665-48fb-a0e9-fbd880e8d4b3, 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:2608)

       at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2646)

       at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)

       at java.lang.Thread.run(Thread.java:748)

 

 

 

Regards,

 

 

Benjamin