[JBoss JIRA] (ISPN-5559) "AsyncCacheWriter is dead!" errors cause deadlock or unbounded use of memory
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5559?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5559:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1235140|https://bugzilla.redhat.com/show_bug.cgi?id=1235140] from MODIFIED to ON_QA
> "AsyncCacheWriter is dead!" errors cause deadlock or unbounded use of memory
> ----------------------------------------------------------------------------
>
> Key: ISPN-5559
> URL: https://issues.jboss.org/browse/ISPN-5559
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Loaders and Stores
> Affects Versions: 5.3.0.Final, 6.0.0.Final, 7.0.0.Final
> Reporter: Karsten Blees
> Fix For: 8.0.0.Beta1, 7.2.4.Final
>
>
> Caused by a relatively small AsyncStore shutdownTimeout (default 25s) in conjunction with large queue sizes or slow back-end stores.
> With assertions enabled, the coordinator thread will exit with AssertionError and the AsyncStore will deadlock, as no more changes are beeing processed.
> With assertions disabled, the coordinator thread will allocate an unbounded number of AsyncStoreProcessors. If AsyncStoreProcessors were multithreaded (see ISPN-3532), this would cause loss of data (due to older changes overwriting newer changes in the back-end store).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5379) Persistence with stringKeyedJdbcStore throwing ConcurrentModificationException while adding data to cache
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5379?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5379:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1212505|https://bugzilla.redhat.com/show_bug.cgi?id=1212505] from MODIFIED to ON_QA
> 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.Beta3
>
>
> 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)
10 years, 7 months
[JBoss JIRA] (ISPN-5562) AsyncCacheWriter should write all data to the back-end store before shutting down
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5562?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5562:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1235143|https://bugzilla.redhat.com/show_bug.cgi?id=1235143] from MODIFIED to ON_QA
> AsyncCacheWriter should write all data to the back-end store before shutting down
> ---------------------------------------------------------------------------------
>
> Key: ISPN-5562
> URL: https://issues.jboss.org/browse/ISPN-5562
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 5.2.0.Final, 6.0.0.Final, 7.0.0.Final
> Reporter: Karsten Blees
> Fix For: 8.0.0.Beta1, 7.2.4.Final
>
>
> There is a chance that AsyncCacheWriter may stop before writing all midifications to the back-end store. This can primarily happen when writing the same keys in rapid succession. The coordinator thread will move these modifications to the head state (because of conflicts with tail), which is not checked before shutdown.
> There are two other minor race conditions if stop() is called concurrently to write() or clear() - these cannot happen in practice because PassivationManager is stopped before PersistenceManager:
> 1. AsyncStoreCoordinator checks State.stopped and State.modifications.isEmpty() without holding the readLock(). This is not reliable because a concurrent write() or remove() may still add to the modifications map.
> 2. clear() just replaces the head state, without copying the stopped flag that may have been set by a concurrent stop().
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5607) NearCache: it is possible to read stale data with a put/remove followed by a get
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5607?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5607:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1244133|https://bugzilla.redhat.com/show_bug.cgi?id=1244133] from MODIFIED to ON_QA
> NearCache: it is possible to read stale data with a put/remove followed by a get
> --------------------------------------------------------------------------------
>
> Key: ISPN-5607
> URL: https://issues.jboss.org/browse/ISPN-5607
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.3.Final
> Environment: one hotrod client with 2 hotrod servers
> Reporter: Enrico Olivelli
> Assignee: Galder Zamarreño
> Priority: Blocker
> Fix For: 8.0.0.Final, 7.2.5.Final
>
>
> Writes to the NearCache do not invalidate/update local data on put/remove operations, and so the NearCache (LAZY MODE) is invalidated using an eventlistener in an asynch way.
> It is possible for a client to write a value and issue a get on the same key, and the result of the get would not be the latest value but the one which was present before the update operation.
> This happens frequently when there is very much traffic on the connection of the listener which receives the events for the NearCache.
> It would be better at least to invalidate locally every entry modified from the client itself
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (ISPN-5607) NearCache: it is possible to read stale data with a put/remove followed by a get
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5607?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5607:
-----------------------------------------------
Dave Stahl <dstahl(a)redhat.com> changed the Status of [bug 1244133|https://bugzilla.redhat.com/show_bug.cgi?id=1244133] from POST to MODIFIED
> NearCache: it is possible to read stale data with a put/remove followed by a get
> --------------------------------------------------------------------------------
>
> Key: ISPN-5607
> URL: https://issues.jboss.org/browse/ISPN-5607
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.3.Final
> Environment: one hotrod client with 2 hotrod servers
> Reporter: Enrico Olivelli
> Assignee: Galder Zamarreño
> Priority: Blocker
> Fix For: 8.0.0.Final, 7.2.5.Final
>
>
> Writes to the NearCache do not invalidate/update local data on put/remove operations, and so the NearCache (LAZY MODE) is invalidated using an eventlistener in an asynch way.
> It is possible for a client to write a value and issue a get on the same key, and the result of the get would not be the latest value but the one which was present before the update operation.
> This happens frequently when there is very much traffic on the connection of the listener which receives the events for the NearCache.
> It would be better at least to invalidate locally every entry modified from the client itself
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months