[JBoss JIRA] (ISPN-5379) Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-5379?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-5379:
--------------------------------
Status: Open (was: Pull Request Sent)
Reopening, however https://github.com/infinispan/infinispan/pull/3625 has been integrated. That PR doesn't fix the issue however and is to help highlight the actual issue when it occurs again.
If desired this could be closed and another logged at a later point for the issue when reproduced.
> Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
> ----------------------------------------------------------------------------------------------------------
>
> Key: ISPN-5379
> URL: https://issues.jboss.org/browse/ISPN-5379
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Loaders and Stores
> Affects Versions: 6.0.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 8.0.0.Final
>
>
> From Dennis Reed:
> A ConcurrentModificationException in the CacheWriter interceptor during a commit.
> java.util.ConcurrentModificationException
> at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:953)
> at java.util.LinkedList$ListItr.next(LinkedList.java:886)
> at org.infinispan.interceptors.CacheWriterInterceptor.store(CacheWriterInterceptor.java:210)
> at org.infinispan.interceptors.CacheWriterInterceptor.commitCommand(CacheWriterInterceptor.java:115)
> The code is looping through the modifications associated with the transaction:
> List<WriteCommand> modifications = ctx.getCacheTransaction().getAllModifications();
> ...
> 210: for (WriteCommand cacheCommand : modifications) {
> The transaction's modification list is stored as a synchronized list with a comment "we need to synchronize this collection to be able to get a valid snapshot from another thread during state transfer".
> But this thread is not doing state transfer, and I'd assume "get a valid snapshot" wouldn't include modification?
> Is it valid for this list to be modified from another thread (in which case all iterations should be synchronized), or is something modifying it incorrectly?
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 3 months
[JBoss JIRA] (ISPN-5569) NullPointerException on JCache.putAll(ConcurrentHashMap)
by Ryan Emerson (JIRA)
[ https://issues.jboss.org/browse/ISPN-5569?page=com.atlassian.jira.plugin.... ]
Ryan Emerson updated ISPN-5569:
-------------------------------
Status: Open (was: New)
> NullPointerException on JCache.putAll(ConcurrentHashMap)
> --------------------------------------------------------
>
> Key: ISPN-5569
> URL: https://issues.jboss.org/browse/ISPN-5569
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 7.2.2.Final
> Reporter: Michael Gysel
> Assignee: Ryan Emerson
>
> Class {{org.infinispan.jcache.embedded.JCache<K, V>}}
> {code:java}@Override
> public void putAll(Map<? extends K, ? extends V> inputMap) {
> checkNotClosed();
> // spec required check
> if (inputMap == null || inputMap.containsKey(null) || inputMap.containsValue(null)) {
> throw new NullPointerException(
> "inputMap is null or keys/values contain a null entry: " + inputMap);
> }
> // more code
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
9 years, 3 months