[JBoss JIRA] (ISPN-6279) Refactor CacheLoader API to make it thread safe
by William Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-6279?page=com.atlassian.jira.plugin.... ]
William Burns closed ISPN-6279.
-------------------------------
Fix Version/s: (was: 10.0.0.Final)
Resolution: Duplicate
This was resolved in ISPN-8865
> Refactor CacheLoader API to make it thread safe
> -----------------------------------------------
>
> Key: ISPN-6279
> URL: https://issues.jboss.org/browse/ISPN-6279
> Project: Infinispan
> Issue Type: Feature Request
> Components: Loaders and Stores
> Reporter: Sebastian Łaskawiec
> Priority: Minor
>
> h3. Introduction
> Currently {{CacheLoader}} thread safety can be easily compromised by broken implementations. We should provide a better implementation to make it more convenient and less error prone.
> h3. Problem statement
> CacheLoader API looks like this:
> {code}
> public interface AdvancedCacheLoader<K, V> extends CacheLoader<K, V> {
> ...
> void process(KeyFilter<? super K> filter, CacheLoaderTask<K, V> task, Executor executor, boolean fetchValue, boolean fetchMetadata);
> ...
> }
> {code}
> The CacheLoader implementation controls {{CacheLoaderTask}} as well as the number of threads used for processing (specified by {{Executor}}). If one wants to collect all keys (similarly to [AdvancedCacheLoader|https://github.com/infinispan/infinispan/blob/master/...]) it is very easy to hit concurrently issues while adding them to the set (See previous JIRAs: ISPN-3938 and ISPN-6276).
> h3. Solution
> The solution should take away currently control (Executor) and keyset (the simplest idea is to add it to {{CacheLoaderTask}}) from from the implementation. One of the ideas is to create a Lambda expression for pulling records from Cache Store. Note that similar changes will need to be performed to {{CacheWriter}} (to make it similar).
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years
[JBoss JIRA] (ISPN-10051) Cluster stats error after node leaves
by William Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-10051?page=com.atlassian.jira.plugin... ]
William Burns updated ISPN-10051:
---------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request: https://github.com/infinispan/infinispan/pull/6774
> Cluster stats error after node leaves
> -------------------------------------
>
> Key: ISPN-10051
> URL: https://issues.jboss.org/browse/ISPN-10051
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.4.9.Final
> Reporter: Dan Berindei
> Assignee: William Burns
> Priority: Major
> Fix For: 9.4.10.Final
>
>
> Up to 9.4.x, {{ClusterCacheStatsImpl}} uses the distributed executor service to collect statistics from all the members of the cache. However, DES will fail with a {{SuspectException}} if one of the cache members is no longer in the cluster view, which is very common (a crashed node is always removed from the cluster view first and from the cache topology later):
> {noformat}
> 23:40:57,029 ERROR [org.infinispan.stats.impl.ClusterCacheStatsImpl] (pool-1-thread-1) Could not execute cluster wide cache stats operation : java.util.concurrent.ExecutionException:
> org.infinispan.remoting.transport.jgroups.SuspectException: ISPN000400: Node rhdg73-server-11-9pl9h was suspected
> {noformat}
> In 10.0.x the distributed executor was removed and stats use the cluster executor, which only works with the cluster view.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years
[JBoss JIRA] (ISPN-10051) Cluster stats error after node leaves
by William Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-10051?page=com.atlassian.jira.plugin... ]
William Burns updated ISPN-10051:
---------------------------------
Status: Open (was: New)
> Cluster stats error after node leaves
> -------------------------------------
>
> Key: ISPN-10051
> URL: https://issues.jboss.org/browse/ISPN-10051
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.4.9.Final
> Reporter: Dan Berindei
> Priority: Major
> Fix For: 9.4.10.Final
>
>
> Up to 9.4.x, {{ClusterCacheStatsImpl}} uses the distributed executor service to collect statistics from all the members of the cache. However, DES will fail with a {{SuspectException}} if one of the cache members is no longer in the cluster view, which is very common (a crashed node is always removed from the cluster view first and from the cache topology later):
> {noformat}
> 23:40:57,029 ERROR [org.infinispan.stats.impl.ClusterCacheStatsImpl] (pool-1-thread-1) Could not execute cluster wide cache stats operation : java.util.concurrent.ExecutionException:
> org.infinispan.remoting.transport.jgroups.SuspectException: ISPN000400: Node rhdg73-server-11-9pl9h was suspected
> {noformat}
> In 10.0.x the distributed executor was removed and stats use the cluster executor, which only works with the cluster view.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years
[JBoss JIRA] (ISPN-10051) Cluster stats error after node leaves
by William Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-10051?page=com.atlassian.jira.plugin... ]
Work on ISPN-10051 started by William Burns.
--------------------------------------------
> Cluster stats error after node leaves
> -------------------------------------
>
> Key: ISPN-10051
> URL: https://issues.jboss.org/browse/ISPN-10051
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.4.9.Final
> Reporter: Dan Berindei
> Assignee: William Burns
> Priority: Major
> Fix For: 9.4.10.Final
>
>
> Up to 9.4.x, {{ClusterCacheStatsImpl}} uses the distributed executor service to collect statistics from all the members of the cache. However, DES will fail with a {{SuspectException}} if one of the cache members is no longer in the cluster view, which is very common (a crashed node is always removed from the cluster view first and from the cache topology later):
> {noformat}
> 23:40:57,029 ERROR [org.infinispan.stats.impl.ClusterCacheStatsImpl] (pool-1-thread-1) Could not execute cluster wide cache stats operation : java.util.concurrent.ExecutionException:
> org.infinispan.remoting.transport.jgroups.SuspectException: ISPN000400: Node rhdg73-server-11-9pl9h was suspected
> {noformat}
> In 10.0.x the distributed executor was removed and stats use the cluster executor, which only works with the cluster view.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years