[infinispan-issues] [JBoss JIRA] Commented: (ISPN-577) State transfer and replication queue ordering issue
Galder Zamarreno (JIRA)
jira-events at lists.jboss.org
Fri Aug 13 07:32:50 EDT 2010
[ https://jira.jboss.org/browse/ISPN-577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12544810#action_12544810 ]
Galder Zamarreno commented on ISPN-577:
---------------------------------------
ReplicationQueue.flush() uses ResponseMode.ASYNCHRONOUS regardless of whether asyncMarshalling is turned off or not, and that might be the cause for the ordering problem. Basically, asyncMarshalling can be turned on if each cache operation works on different keys. The moment you start having multiple ops on same key, with asyncMarshalling=true, the order of these can be swapped before reaching transport. ReplicationQueue disregards asyncMarshalling and directly pushes the call to a separate thread, as if asyncMarshalling was turned on, leading to ordering problems.
> State transfer and replication queue ordering issue
> ---------------------------------------------------
>
> Key: ISPN-577
> URL: https://jira.jboss.org/browse/ISPN-577
> Project: Infinispan
> Issue Type: Bug
> Components: State transfer
> Affects Versions: 4.0.0.Final, 4.1.0.CR1
> Reporter: Galder Zamarreno
> Assignee: Galder Zamarreno
> Priority: Critical
> Fix For: 4.1.0.CR3, 4.1.0.Final
>
> Attachments: StateTransferReplicationQueueTest.java
>
>
> There's an ordering issue going on under the following circumstances where A and B communicate asynchronously via replication queue:
> - Start Node A
> - Start Node B
> - Begin Pushing Requests to A
> - A and B are in Sync
> - Restart B (While Pushing Requests to A)
> - State Transfer from A to B
> - A and B are NOT in Sync
> There appears to be an ordering issue:
> Master
> 2010-08-05 11:38:21,028 // Put Key: 342197608235468 (OrderCache)
> 2010-08-05 11:38:21,230 // Remove Key: 342197608235468 (OrderCache)
> 2010-08-05 11:38:23,784 // State Transfer Response (OrderCache)
>
> Slave
> 2010-08-05 11:38:23,782 // State Transfer Request (OrderCache)
> 2010-08-05 11:38:34,529 // Remove Key: 342197608235468 (OrderCache) *Request 693*
> 2010-08-05 11:46:08,845 // Put Key: 342197608235468 (OrderCache) * Request 692*
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list