[infinispan-issues] [JBoss JIRA] (ISPN-6919) Improve non-tx writes (triangle)

Dan Berindei (JIRA) issues at jboss.org
Wed Sep 7 10:59:00 EDT 2016


    [ https://issues.jboss.org/browse/ISPN-6919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289998#comment-13289998 ] 

Dan Berindei commented on ISPN-6919:
------------------------------------

[~ksobolew] I'm afraid the functional API's commands can't run without exclusive access to the entries they modify, either.

[~pruivo] numOwners == 1 should really be described separately. If we exclude that, the first case becomes "originator != primary"
What happens when the backups install a new topology in which they're no longer owners, or if the backups crash?
Also, why do we need the replication to the backups to be ordered? That won't help if the primary owner crashes, and another node becomes the primary owner.

More general, we should really have some diagrams to discuss how the triangle is supposed to handle the various corner cases that appear when a node joins/leaves/crashes, or when there's a split+merge. I'm not saying this approach won't work with topology changes, it's just that I have no idea whether how it's supposed to work.

> Improve non-tx writes (triangle)
> --------------------------------
>
>                 Key: ISPN-6919
>                 URL: https://issues.jboss.org/browse/ISPN-6919
>             Project: Infinispan
>          Issue Type: Feature Request
>          Components: Core
>            Reporter: Pedro Ruivo
>            Assignee: Pedro Ruivo
>
> The current algorithm has 4 messages in the network (worst case) happended sequentially:
> 1: originator => primary owner
> 2: primary owner => backups
> 3: backups => primary owner (ack)
> 4: primary owner => originator (reply)
> The algorithm can be improved to the following:
> 1: originator => primary owner
> 2: primary owner => backups & primary owner => originator (parallel)
> 3: backups => originator & backups => primary owners (acks)
> The main flow would be: originator => primary => backups => originator (<= there is the triangle :) )



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the infinispan-issues mailing list