[JBoss JIRA] (ISPN-3936) State transfer should not modify or iterate shared cache stores
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-3936?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-3936:
-----------------------------------------------
Martin Gencur <mgencur(a)redhat.com> changed the Status of [bug 1113259|https://bugzilla.redhat.com/show_bug.cgi?id=1113259] from ON_QA to VERIFIED
> State transfer should not modify or iterate shared cache stores
> ---------------------------------------------------------------
>
> Key: ISPN-3936
> URL: https://issues.jboss.org/browse/ISPN-3936
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Core, State Transfer
> Affects Versions: 6.0.0.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Critical
> Fix For: 7.0.0.Alpha3, 7.0.0.Final
>
>
> When installing a new topology, we invalidate the cache entries that are no longer mapped to the local node. We also iterate over the entries in the cache stores and delete the ones that are no longer local, but this should only happen if the cache store is not shared.
> We had similar issues in the past, but this seems to be related to the new cache store API introduced in 6.0.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 6 months
[JBoss JIRA] (ISPN-4484) Outbound transfers can be cancelled by old CANCEL_STATE_TRANSFER command
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-4484?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration updated ISPN-4484:
------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1104045
> Outbound transfers can be cancelled by old CANCEL_STATE_TRANSFER command
> ------------------------------------------------------------------------
>
> Key: ISPN-4484
> URL: https://issues.jboss.org/browse/ISPN-4484
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Core, State Transfer
> Affects Versions: 6.0.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Critical
> Fix For: 7.0.0.Alpha5
>
>
> This appeared during the 32-nodes elasticity test in the Hyperion environment.
> Just as apex947 left, it started a rebalance, which apex948 dutifully cancelled as it became the new coordinator. apex949 had already requested segments from apex959, so it sent a StateRequestCommand(CANCEL_STATE_TRANSFER) asynchronously to apex959. Then apex948 started a new rebalance, and apex949 asked apex959 for the same segments. When apex959 finally received the cancel request, it didn't check the topology id and it incorrectly cancelled the outbound transfer to apex949.
> The solution would be to verify the topology id in the CANCEL_STATE_TRANSFER command before cancelling the transfer. I also think we can avoid sending the cancel command completely in this case, and only send it as we are about to stop.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 6 months
[JBoss JIRA] (ISPN-4484) Outbound transfers can be cancelled by old CANCEL_STATE_TRANSFER command
by Dan Berindei (JIRA)
Dan Berindei created ISPN-4484:
----------------------------------
Summary: Outbound transfers can be cancelled by old CANCEL_STATE_TRANSFER command
Key: ISPN-4484
URL: https://issues.jboss.org/browse/ISPN-4484
Project: Infinispan
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core, State Transfer
Affects Versions: 6.0.2.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Priority: Critical
Fix For: 7.0.0.Alpha5
This appeared during the 32-nodes elasticity test in the Hyperion environment.
Just as apex947 left, it started a rebalance, which apex948 dutifully cancelled as it became the new coordinator. apex949 had already requested segments from apex959, so it sent a StateRequestCommand(CANCEL_STATE_TRANSFER) asynchronously to apex959. Then apex948 started a new rebalance, and apex949 asked apex959 for the same segments. When apex959 finally received the cancel request, it didn't check the topology id and it incorrectly cancelled the outbound transfer to apex949.
The solution would be to verify the topology id in the CANCEL_STATE_TRANSFER command before cancelling the transfer. I also think we can avoid sending the cancel command completely in this case, and only send it as we are about to stop.
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 6 months
[JBoss JIRA] (ISPN-4467) keySet operation via HotRod in compatibility mode throws ClassCastException
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-4467?page=com.atlassian.jira.plugin.... ]
Mircea Markus updated ISPN-4467:
--------------------------------
Fix Version/s: 7.0.0.Final
> keySet operation via HotRod in compatibility mode throws ClassCastException
> ---------------------------------------------------------------------------
>
> Key: ISPN-4467
> URL: https://issues.jboss.org/browse/ISPN-4467
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 7.0.0.Alpha1
> Reporter: Martin Gencur
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Alpha5, 7.0.0.Final
>
>
> The HotRod client's keySet() operation throws ClassCastException due to the following reason:
> When Encoder2x.scala in its writeResponse() method decodes the operation as BulkGetKeysResponse, it runs a Map/Reduce job that returns a set of keys in the whole cluster.
> The operation returns a set of "unmarshalled" (cos we're in compatibility mode) entries. However, Scala infers the type of individual entries as "Bytes" which is an alias for Array[Byte].
> As a result, when this iterator from this key set is retrieved, it is not possible to iterate through the entries because Scala automatically tries to convert each (unmarshalled) entry into a byte array, which results in the exception.
> This line results in throwing CCE:
> https://github.com/infinispan/infinispan/blob/master/server/hotrod/src/ma...
>
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 6 months
[JBoss JIRA] (ISPN-4467) keySet operation via HotRod in compatibility mode throws ClassCastException
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-4467?page=com.atlassian.jira.plugin.... ]
Mircea Markus updated ISPN-4467:
--------------------------------
Fix Version/s: (was: 7.0.0.Final)
> keySet operation via HotRod in compatibility mode throws ClassCastException
> ---------------------------------------------------------------------------
>
> Key: ISPN-4467
> URL: https://issues.jboss.org/browse/ISPN-4467
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 7.0.0.Alpha1
> Reporter: Martin Gencur
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Alpha5
>
>
> The HotRod client's keySet() operation throws ClassCastException due to the following reason:
> When Encoder2x.scala in its writeResponse() method decodes the operation as BulkGetKeysResponse, it runs a Map/Reduce job that returns a set of keys in the whole cluster.
> The operation returns a set of "unmarshalled" (cos we're in compatibility mode) entries. However, Scala infers the type of individual entries as "Bytes" which is an alias for Array[Byte].
> As a result, when this iterator from this key set is retrieved, it is not possible to iterate through the entries because Scala automatically tries to convert each (unmarshalled) entry into a byte array, which results in the exception.
> This line results in throwing CCE:
> https://github.com/infinispan/infinispan/blob/master/server/hotrod/src/ma...
>
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 6 months
[JBoss JIRA] (ISPN-4467) keySet operation via HotRod in compatibility mode throws ClassCastException
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-4467?page=com.atlassian.jira.plugin.... ]
Mircea Markus updated ISPN-4467:
--------------------------------
Status: Resolved (was: Pull Request Sent)
Resolution: Done
> keySet operation via HotRod in compatibility mode throws ClassCastException
> ---------------------------------------------------------------------------
>
> Key: ISPN-4467
> URL: https://issues.jboss.org/browse/ISPN-4467
> Project: Infinispan
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 7.0.0.Alpha1
> Reporter: Martin Gencur
> Assignee: Galder Zamarreño
> Fix For: 7.0.0.Alpha5
>
>
> The HotRod client's keySet() operation throws ClassCastException due to the following reason:
> When Encoder2x.scala in its writeResponse() method decodes the operation as BulkGetKeysResponse, it runs a Map/Reduce job that returns a set of keys in the whole cluster.
> The operation returns a set of "unmarshalled" (cos we're in compatibility mode) entries. However, Scala infers the type of individual entries as "Bytes" which is an alias for Array[Byte].
> As a result, when this iterator from this key set is retrieved, it is not possible to iterate through the entries because Scala automatically tries to convert each (unmarshalled) entry into a byte array, which results in the exception.
> This line results in throwing CCE:
> https://github.com/infinispan/infinispan/blob/master/server/hotrod/src/ma...
>
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)
10 years, 6 months