[infinispan-issues] [JBoss JIRA] (ISPN-7173) (7.0.z) TransactionAwareKeyCloseableIterator.remove uses previousValue which is never set

Brad Maxwell (JIRA) issues at jboss.org
Tue Nov 8 10:30:00 EST 2016


Brad Maxwell created ISPN-7173:
----------------------------------

             Summary: (7.0.z) TransactionAwareKeyCloseableIterator.remove uses previousValue which is never set
                 Key: ISPN-7173
                 URL: https://issues.jboss.org/browse/ISPN-7173
             Project: Infinispan
          Issue Type: Bug
    Affects Versions: 8.1.0.Final
            Reporter: Brad Maxwell
            Assignee: William Burns
             Fix For: 9.0.0.Beta1, 8.2.5.Final, 8.1.6.Final


TransactionAwareKeyCloseableIterator.remove is implemented as

{code:java}
cache.remove(previousValue);
{code}

But looking at the previousValue it never gets set. This results then in 

{code}
java.lang.NullPointerException: Null keys are not supported!
	at org.infinispan.cache.impl.CacheImpl.assertKeyNotNull(CacheImpl.java:224)
	at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:547)
	at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:543)
	at org.infinispan.interceptors.TxInterceptor$TransactionAwareKeyCloseableIterator.remove(TxInterceptor.java:568)
{code}

I encountered this when trying to switch infinispan from 7.2 to 8.1 in conjunction with hibernate-infinispan 4.3 which does the following code to clear the cache:

{code:java}
	public static void removeAll(AdvancedCache cache) {
		try {
			Iterator it = cache.keySet().iterator();
			while (it.hasNext()) {
				it.next(); // Necessary to get next element
				it.remove();
				}
		} catch (UnsupportedOperationException e) {
			// Fallback on using clear for older version
			cache.clear();
		}
	}
{code}

from https://github.com/hibernate/hibernate-orm/blob/4.3/hibernate-infinispan/src/main/java/org/hibernate/cache/infinispan/util/Caches.java




--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list