[JBoss JIRA] (ISPN-5379) Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-5379?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-5379:
-------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/3625
> Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
> ----------------------------------------------------------------------------------------------------------
&…
[View More]gt;
> 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)
[View Less]
9 years, 8 months
[JBoss JIRA] (ISPN-5626) Clean up missing parts for Distributed Streams
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-5626?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-5626:
--------------------------------
Description:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# --Add tests for containsValue requiring serialization overhead.-- Unneeded
# --Change …
[View More]isEmpty to use findAny--
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
# Rewrite cache loader to use a spliterator which allows for a more performant forEachRemaining and possibly better parallel split values
# Look into adding BitSetSet to store segment sets instead of Set<Integer>
was:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# Add tests for containsValue requiring serialization overhead.
# Change isEmpty to use findAny
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
# Rewrite cache loader to use a spliterator which allows for a more performant forEachRemaining and possibly better parallel split values
# Look into adding BitSetSet to store segment sets instead of Set<Integer>
> Clean up missing parts for Distributed Streams
> ----------------------------------------------
>
> Key: ISPN-5626
> URL: https://issues.jboss.org/browse/ISPN-5626
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Reporter: William Burns
> Assignee: William Burns
>
> There are some things left over that need to still be done possibly
> # Investigate iterator parallel stream performance
> # Add support for key filter applying to cache loader
> # Add cache loader managed blocker
> # Add tests for skip & limit.
> # --Add tests for containsValue requiring serialization overhead.-- Unneeded
> # --Change isEmpty to use findAny--
> # Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
> # Add timeout for remote operations to be equal to replication sync timeout
> # Add new BitSetSet support to reduce segments footprint
> # Support concurrent activations properly (this is also an issue with state transfer)
> # Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
> # Rewrite cache loader to use a spliterator which allows for a more performant forEachRemaining and possibly better parallel split values
> # Look into adding BitSetSet to store segment sets instead of Set<Integer>
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
[View Less]
9 years, 8 months