[JBoss JIRA] (ISPN-7956) Investigate removing PartitionHandlingInterceptor
by Dan Berindei (JIRA)
Dan Berindei created ISPN-7956:
----------------------------------
Summary: Investigate removing PartitionHandlingInterceptor
Key: ISPN-7956
URL: https://issues.jboss.org/browse/ISPN-7956
Project: Infinispan
Issue Type: Task
Components: Core
Affects Versions: 9.1.0.Beta1
Reporter: Dan Berindei
Assignee: Dan Berindei
When all the owners of a key leave the cluster, the distribution interceptor doesn't know how to handle that key. Instead, it has to signal that to the {{PartitionHandlingInterceptor}} somehow, and PHI decides whether to return a {{null}} value or throw an {{AvailabilityException}}.
Single-key read commands and write commands are handled by throwing an {{AllOwnersLostException}} (initially an {{RpcException}}) from the distribution interceptor and catching it in {{PartitionHandlingInterceptor}}. If partitioning handling is disabled, the {{AllOwnersLostException}} is instead caught by {{StateTransferInterceptor}}, which returns the {{null}} value (for read commands) or waits for a new topology and retries (for write commands).
For multi-key read commands the distribution interceptor can't throw an exception, because that would lose the values that were retrieved successfully. For {{GetAllCommand}} we could get away with storing the values in the context, but that wouldn't work for functional commands because they transform the values on the remote node. ISPN-7884 removing the values with missing owners from the result collection, but that means values that are simply missing have to be treated differently, and {{StateTransferInterceptor}} has to iterate through the list of results again in order to remove them.
It should be simpler to move all the availability checks to the distribution interceptor, and remove the {{PartitionHandlingInterceptor}}. DI already calls some {{PartitionHandlingManager}} methods directly, in order to keep track of partially committed transactions.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7889) BaseDistributionInterceptor.remoteGet may cause concurrency issues
by Dan Berindei (JIRA)
[ https://issues.jboss.org/browse/ISPN-7889?page=com.atlassian.jira.plugin.... ]
Dan Berindei reassigned ISPN-7889:
----------------------------------
Assignee: Dan Berindei
> BaseDistributionInterceptor.remoteGet may cause concurrency issues
> ------------------------------------------------------------------
>
> Key: ISPN-7889
> URL: https://issues.jboss.org/browse/ISPN-7889
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.1.0.Alpha1
> Reporter: Radim Vansa
> Assignee: Dan Berindei
>
> {{BaseDistributionInterceptor.remoteGet}} or any call that accesses the context in an async future handler that is called multiple times in parallel may lead to concurrent modifications of the context.
> These calls are usually handled using {{CompletableFuture.allOf()}} or using a CF with counter, but if one of the calls results in exceptional completion of the composed future, the processing continues (e.g. with a retry). The other parallel operation handlers are not stopped, though.
> {{BaseDistributionInterceptor.remoteGet}} shouldn't be called in parallel because it does not even synchronize regular successful invocations.
> A problem like this caused failures in {{GetAllCommandStressTest}}, and the issue was addressed for {{GetAllCommand}} in ISPN-7884.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7955) Hot Rod client needs to re-resolve topology addresses after failure to connect
by Tristan Tarrant (JIRA)
Tristan Tarrant created ISPN-7955:
-------------------------------------
Summary: Hot Rod client needs to re-resolve topology addresses after failure to connect
Key: ISPN-7955
URL: https://issues.jboss.org/browse/ISPN-7955
Project: Infinispan
Issue Type: Bug
Components: Remote Protocols
Affects Versions: 9.1.0.Beta1, 8.1.7.Final, 8.2.6.Final, 9.0.3.Final
Reporter: Tristan Tarrant
Assignee: Tristan Tarrant
The Hot Rod client resolves topology addresses on reception. In dynamic environments where server nodes can restart with different IPs (but maintaining their external hostname) this causes the client to fail to reconnect. The client should hold on to the original address and re-resolve it in case of failures.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7949) HotRod client test suite improvements
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7949?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-7949:
------------------------------------
Description:
When running locally, in a quad-core machine, the hot-rod client test suite fails most of time with random errors such as:
{code}
createBeforeClass(org.infinispan.client.hotrod.HotRodAsyncReplicationTest)
Time elapsed: 0.569 sec <<< FAILURE!
org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean instance type=Server,name=HotRod-HotRodAsyncReplicationTest already registered
under 'infinispan-630fffd4-fd37-47b1-a146-db7990fc0454' JMX domain. If you want to allow multiple instances configured with same JMX domain enable 'allowDuplicateDomains'
attribute in 'globalJmxStatistics' config element
{code}
Thread usage is also high: it uses more than 1k threads.
Last, but not least, it takes about 6min to run about 2k tests
was:
When running locally, in a quad-core machine, the hot-rod client test suite fails most of time with random errors such as:
{code}
createBeforeClass(org.infinispan.client.hotrod.HotRodAsyncReplicationTest)
Time elapsed: 0.569 sec <<< FAILURE!
org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean
instance type=Server,name=HotRod-HotRodAsyncReplicationTest already registered under
'infinispan-630fffd4-fd37-47b1-a146-db7990fc0454' JMX domain. If you want to allow
multiple instances configured with same JMX domain enable 'allowDuplicateDomains'
attribute in 'globalJmxStatistics' config element
{code}
Thread usage is also high: it uses more than 1k threads.
Last, but not least, it takes about 6min to run about 2k tests
> HotRod client test suite improvements
> -------------------------------------
>
> Key: ISPN-7949
> URL: https://issues.jboss.org/browse/ISPN-7949
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 9.1.0.Beta1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> When running locally, in a quad-core machine, the hot-rod client test suite fails most of time with random errors such as:
> {code}
> createBeforeClass(org.infinispan.client.hotrod.HotRodAsyncReplicationTest)
> Time elapsed: 0.569 sec <<< FAILURE!
> org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean instance type=Server,name=HotRod-HotRodAsyncReplicationTest already registered
> under 'infinispan-630fffd4-fd37-47b1-a146-db7990fc0454' JMX domain. If you want to allow multiple instances configured with same JMX domain enable 'allowDuplicateDomains'
> attribute in 'globalJmxStatistics' config element
> {code}
> Thread usage is also high: it uses more than 1k threads.
> Last, but not least, it takes about 6min to run about 2k tests
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7949) HotRod client test suite improvements
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7949?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-7949:
------------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/infinispan/infinispan/pull/5221
> HotRod client test suite improvements
> -------------------------------------
>
> Key: ISPN-7949
> URL: https://issues.jboss.org/browse/ISPN-7949
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 9.1.0.Beta1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> When running locally, in a quad-core machine, the hot-rod client test suite fails most of time with random errors such as:
> {code}
> createBeforeClass(org.infinispan.client.hotrod.HotRodAsyncReplicationTest)
> Time elapsed: 0.569 sec <<< FAILURE!
> org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean
> instance type=Server,name=HotRod-HotRodAsyncReplicationTest already registered under
> 'infinispan-630fffd4-fd37-47b1-a146-db7990fc0454' JMX domain. If you want to allow
> multiple instances configured with same JMX domain enable 'allowDuplicateDomains'
> attribute in 'globalJmxStatistics' config element
> {code}
> Thread usage is also high: it uses more than 1k threads.
> Last, but not least, it takes about 6min to run about 2k tests
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7949) HotRod client test suite improvements
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7949?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-7949:
------------------------------------
Summary: HotRod client test suite improvements (was: HotRod client test suite is unstable and uses lots of resources)
> HotRod client test suite improvements
> -------------------------------------
>
> Key: ISPN-7949
> URL: https://issues.jboss.org/browse/ISPN-7949
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 9.1.0.Beta1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> When running locally, in a quad-core machine, the hot-rod client test suite fails most of time with random errors such as:
> {code}
> createBeforeClass(org.infinispan.client.hotrod.HotRodAsyncReplicationTest)
> Time elapsed: 0.569 sec <<< FAILURE!
> org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean
> instance type=Server,name=HotRod-HotRodAsyncReplicationTest already registered under
> 'infinispan-630fffd4-fd37-47b1-a146-db7990fc0454' JMX domain. If you want to allow
> multiple instances configured with same JMX domain enable 'allowDuplicateDomains'
> attribute in 'globalJmxStatistics' config element
> {code}
> Thread usage is also high: it uses more than 1k threads.
> Last, but not least, it takes about 6min to run about 2k tests
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months
[JBoss JIRA] (ISPN-7949) HotRod client test suite improvements
by Gustavo Fernandes (JIRA)
[ https://issues.jboss.org/browse/ISPN-7949?page=com.atlassian.jira.plugin.... ]
Gustavo Fernandes updated ISPN-7949:
------------------------------------
Status: Open (was: New)
> HotRod client test suite improvements
> -------------------------------------
>
> Key: ISPN-7949
> URL: https://issues.jboss.org/browse/ISPN-7949
> Project: Infinispan
> Issue Type: Bug
> Affects Versions: 9.1.0.Beta1
> Reporter: Gustavo Fernandes
> Assignee: Gustavo Fernandes
>
> When running locally, in a quad-core machine, the hot-rod client test suite fails most of time with random errors such as:
> {code}
> createBeforeClass(org.infinispan.client.hotrod.HotRodAsyncReplicationTest)
> Time elapsed: 0.569 sec <<< FAILURE!
> org.infinispan.jmx.JmxDomainConflictException: ISPN000034: There's already a JMX MBean
> instance type=Server,name=HotRod-HotRodAsyncReplicationTest already registered under
> 'infinispan-630fffd4-fd37-47b1-a146-db7990fc0454' JMX domain. If you want to allow
> multiple instances configured with same JMX domain enable 'allowDuplicateDomains'
> attribute in 'globalJmxStatistics' config element
> {code}
> Thread usage is also high: it uses more than 1k threads.
> Last, but not least, it takes about 6min to run about 2k tests
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 9 months