[JBoss JIRA] (ISPN-5570) Cross-site: retry backup commands
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5570?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-5570:
------------------------------------
Fix Version/s: 8.2.0.Final
(was: 8.2.0.CR1)
> Cross-site: retry backup commands
> ---------------------------------
>
> Key: ISPN-5570
> URL: https://issues.jboss.org/browse/ISPN-5570
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Cross-Site Replication
> Affects Versions: 7.2.3.Final
> Reporter: Dan Berindei
> Fix For: 8.2.0.Final
>
>
> There are 3 phases in a backup RPC:
> 1. Sender -> Local site master: caused by the site master is shutting down or crashing, or by a network split.
> 2. Local site master -> Remote site master:
> 2.1. Local site master is no longer a site master, e.g. because it's shutting down or because it's no longer coordinator after a merge.
> 2.2. Remote site master is not longer a site master.
> 2.3. Link between local site and remote site is down.
> 3. Remote site master -> Backup targets
> Replication failures in phase 3 are handled by retrying (except for TimeoutExceptions), because {{BaseBackupReceiver}} uses regular cache methods to perform the updates.
> But replication failures in phases 1 and 2 are not handled in any way, except for causing the remote site to be taken offline after a certain number of replication failures (if backup is synchronous). We should instead retry backup RPCs when we get a {{SuspectException}} or {{UnreachableException}}, and perhaps even when we get no response (2.2?), and only stop when the timeout expires or when the backup is taken offline.
> Async backup probably needs retrying as well, and perhaps even a more sophisticated approach like I-RAC (ISPN-2634).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 1 month
[JBoss JIRA] (ISPN-5642) Reduce contention in the RPC timeout handling
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5642?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-5642:
------------------------------------
Fix Version/s: 8.2.0.Final
(was: 8.2.0.CR1)
> Reduce contention in the RPC timeout handling
> ---------------------------------------------
>
> Key: ISPN-5642
> URL: https://issues.jboss.org/browse/ISPN-5642
> Project: Infinispan
> Issue Type: Task
> Components: Core
> Affects Versions: 8.0.0.Beta2
> Reporter: Dan Berindei
> Priority: Minor
> Labels: help_wanted
> Fix For: 8.2.0.Final
>
>
> Most of the RPC timeout tasks are cancelled way before their timeout expires. This means the scheduler spends a lot of time reordering the elements of its DelayQueue.
> It should be possible to store the tasks with a long timeout (e.g. 1s) in a queue and only move them to the scheduler's priority queue when they have less than 1s to expiration (e.g. by a worker thread that runs every 0.5s)
> Storing all the tasks in a single queue may be impractical because the worker thread would have more and work to do as load increases and the RPCs take longer to finish, so a [hashed timing wheel|http://www.cse.wustl.edu/~cdgill/courses/cs6874/TimingWheels.ppt] may be needed.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 1 month
[JBoss JIRA] (ISPN-5584) Support fine-grained write skew check for FineGrainedAtomicMap entries
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5584?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-5584:
------------------------------------
Fix Version/s: 8.2.0.Final
(was: 8.2.0.CR1)
> Support fine-grained write skew check for FineGrainedAtomicMap entries
> ----------------------------------------------------------------------
>
> Key: ISPN-5584
> URL: https://issues.jboss.org/browse/ISPN-5584
> Project: Infinispan
> Issue Type: Feature Request
> Components: Core
> Affects Versions: 8.0.0.Alpha2, 7.2.3.Final
> Reporter: Dan Berindei
> Fix For: 8.2.0.Final
>
>
> FineGrainedAtomicMap doesn't currently work with write skew check enabled.
> I was able to make it work by adding a special case for DeltaAwareCacheEntry in WriteSkewHelper, however the map has a single version, so the write skew check fails if any of the sub-keys were modified in parallel. With pessimistic locking, fine-grained maps allow the user to modify different sub-keys concurrently, we should allow the same with optimistic locking.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 1 month
[JBoss JIRA] (ISPN-5614) Write performance regression after ISPN-5484
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5614?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-5614:
------------------------------------
Fix Version/s: 8.2.0.Final
(was: 8.2.0.CR1)
> Write performance regression after ISPN-5484
> --------------------------------------------
>
> Key: ISPN-5614
> URL: https://issues.jboss.org/browse/ISPN-5614
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 8.0.0.Beta1
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 8.2.0.Final
>
>
> Regression test shows a significant drop in throughput in the replicated and distributed write tests.
> This was after adjusting the internal thread pool settings in the JGroups configuration: with the default (min=5, max=20, queue=0), the distributed read test would fail to finish.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 1 month
[JBoss JIRA] (ISPN-5665) Query should not rely on the results of return values of write commands
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-5665?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-5665:
------------------------------------
Fix Version/s: 8.2.0.Final
(was: 8.2.0.CR1)
> Query should not rely on the results of return values of write commands
> -----------------------------------------------------------------------
>
> Key: ISPN-5665
> URL: https://issues.jboss.org/browse/ISPN-5665
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 8.0.0.Beta2
> Reporter: Dan Berindei
> Assignee: Gustavo Fernandes
> Fix For: 8.2.0.Final
>
>
> The query interceptor relies on the return value of the write commands to know the previous value of the modified entries. This is not correct, because some write commands do not return the previous value, e.g. {{remove(key, value)}}, {{replace(key, oldValue, newValue)}}, and {{putAll(map)}}.
> The query interceptor should instead look up the previous values in the invocation context, and also force the loading of old values in the invocation context if the command doesn't do it explicitly (e.g. {{putAll(map)}}, or {{put(k, v)}} with the {{IGNORE_RETURN_VALUES}} flag).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 1 month