[JBoss JIRA] (ISPN-6483) CacheRpcCommandExternalizer frequently performs lookups from GlobalComponentRegistry
by Radim Vansa (JIRA)
[ https://issues.jboss.org/browse/ISPN-6483?page=com.atlassian.jira.plugin.... ]
Radim Vansa updated ISPN-6483:
------------------------------
Labels: performance (was: )
> CacheRpcCommandExternalizer frequently performs lookups from GlobalComponentRegistry
> ------------------------------------------------------------------------------------
>
> Key: ISPN-6483
> URL: https://issues.jboss.org/browse/ISPN-6483
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Reporter: Sanne Grinovero
> Labels: performance
>
> This is a significant CPU consumer; talking with Dan and Galder it looks like the reasons for the design might have changed and this could be simplified.
> {noformat}
> org.infinispan.factories.GlobalComponentRegistry.getNamedComponentRegistry(String)
> org.infinispan.marshall.exts.CacheRpcCommandExternalizer.getCacheMarshaller(String)
> org.infinispan.marshall.exts.CacheRpcCommandExternalizer.writeObject(ObjectOutput, CacheRpcCommand)
> org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(ObjectInput)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (ISPN-6350) Data race in the ShardIndexManager under topology changes
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-6350?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-6350:
------------------------------------
Status: Open (was: New)
> Data race in the ShardIndexManager under topology changes
> ---------------------------------------------------------
>
> Key: ISPN-6350
> URL: https://issues.jboss.org/browse/ISPN-6350
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 8.2.0.Final
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
> Labels: affinity
>
> The following example data race can cause unrecoverable errors during indexing:
> \[node1\] cache.put(key) // key maps to segment 48, owned by node1
> \[node1\] starts shard 48
> \[node1\] acquires lock on shard 48
> \[node1\] starts writing to the index
> \[node1\] notification of topology changed, lock released on shard 48
> \[node1\] lock reacquired (still writing to the index)
> \[node1\] commit on shard 48
> \[node1\] shard still locked
> \[node2\] cache.put(key) // Node2 now owns segment 48
> \[node2\] starts shard 48
> \[node2\] tries to acquire the lock on shard 48
> \[node2\] fail (lock still owned by node1)
> The current mechanism employed by the {{ShardIndexManager}} during topology changes involves using a listener and closing the IndexWriter on all nodes upon ownership changes, so that the lock is released and can be reacquired by the new owner (1 segment maps to 1 shard).
> Since writing to a shard can take some time, the listener can be triggered in the middle of an index operation and the closing of the index writer will have a very short duration because it is sudden reacquired, and not released anymore.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (ISPN-6790) Distribution interceptors re-compute key location after remote get
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6790?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-6790:
-------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/4418
> Distribution interceptors re-compute key location after remote get
> ------------------------------------------------------------------
>
> Key: ISPN-6790
> URL: https://issues.jboss.org/browse/ISPN-6790
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.0.0.Alpha2, 8.2.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Minor
> Fix For: 9.0.0.Alpha3
>
>
> If the distribution interceptors don't find a key remotely, they try again to retrieve it from the local data container. Before reading the local value, though, they compute the key's ownership again, to make sure they don't read a stale value that was previously owned by the local node.
> Most of the time, the topology doesn't change during the invocation through the interceptor chain, so there's no need to look up the value locally again, or to re-compute the key's location.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (ISPN-6790) Distribution interceptors re-compute key location after remote get
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6790?page=com.atlassian.jira.plugin.... ]
Dan Berindei reassigned ISPN-6790:
----------------------------------
Assignee: Dan Berindei
> Distribution interceptors re-compute key location after remote get
> ------------------------------------------------------------------
>
> Key: ISPN-6790
> URL: https://issues.jboss.org/browse/ISPN-6790
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.0.0.Alpha2, 8.2.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Minor
> Fix For: 9.0.0.Alpha3
>
>
> If the distribution interceptors don't find a key remotely, they try again to retrieve it from the local data container. Before reading the local value, though, they compute the key's ownership again, to make sure they don't read a stale value that was previously owned by the local node.
> Most of the time, the topology doesn't change during the invocation through the interceptor chain, so there's no need to look up the value locally again, or to re-compute the key's location.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months
[JBoss JIRA] (ISPN-6790) Distribution interceptors re-compute key location after remote get
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-6790?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-6790:
-------------------------------
Status: Open (was: New)
> Distribution interceptors re-compute key location after remote get
> ------------------------------------------------------------------
>
> Key: ISPN-6790
> URL: https://issues.jboss.org/browse/ISPN-6790
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.0.0.Alpha2, 8.2.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Minor
> Fix For: 9.0.0.Alpha3
>
>
> If the distribution interceptors don't find a key remotely, they try again to retrieve it from the local data container. Before reading the local value, though, they compute the key's ownership again, to make sure they don't read a stale value that was previously owned by the local node.
> Most of the time, the topology doesn't change during the invocation through the interceptor chain, so there's no need to look up the value locally again, or to re-compute the key's location.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 6 months