[infinispan-dev] NPE in SingleFileStore during node shutdown

Dan Berindei dan.berindei at gmail.com
Thu Feb 26 05:06:06 EST 2015


The rule of thumb is, if you see a NullPointerException, it's probably a bug :)

In this case, it looks like the purge thread started processing all
the entries in the store to see if they have expired, which is keeping
the CPU busy (and probably thrashing the disk as well - ISPN-5141
[1]). Stopping the cache didn't stop the purge thread, causing the
NPE. However, the exception should be harmless, and I wouldn't expect
the node to hang because of it.

On the other hand, SingleFileStore will not work properly with
shared=true. Unfortunately, it doesn't do anything to prevent you from
configuring it that way, but sharing the data file is not supported,
and it will cause data corruption.

Cheers
Dan

[1] https://issues.jboss.org/browse/ISPN-5141


On Tue, Feb 24, 2015 at 4:11 PM, Andreas Kruthoff
<andreas.kruthoff at nexustelecom.com> wrote:
> Hi Dev
>
>
>  From time to time, I'm running into this exception which causes the
> node to hang.
>
> Exception in thread "persistence-thread--p5-t1"
> org.infinispan.persistence.spi.PersistenceException:
> java.lang.NullPointerException
>         at
> org.infinispan.persistence.file.SingleFileStore$2.run(SingleFileStore.java:672)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>         at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.NullPointerException
>         at
> org.infinispan.persistence.file.SingleFileStore.free(SingleFileStore.java:306)
>         at
> org.infinispan.persistence.file.SingleFileStore.access$1200(SingleFileStore.java:63)
>         at
> org.infinispan.persistence.file.SingleFileStore$2.run(SingleFileStore.java:670)
>         ... 3 more
>
>
> My scenario:
>
> Start 3 distributed nodes, owners="2", filestore with preload="true"
> shared="true" purge="false". About 20 Mio entries in the .dat file.
>
> The state-transfer takes about 5 Minutes, the cluster is ready
> afterwards, but still very busy operating on the filestore!
>
> If I stop a node now, the exception happens. If I wait for about 30
> Minutes (after the cpu load reduces), and the shutdown of a node works
> without problems. It persists its entries.
>
> Shall I create a JIRA or am I missing something?
>
> This email and any attachment may contain confidential information which is intended for use only by the addressee(s) named above. If you received this email by mistake, please notify the sender immediately, and delete the email from your system. You are prohibited from copying, disseminating or otherwise using the email or any attachment.
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev



More information about the infinispan-dev mailing list