[jboss-jira] [JBoss JIRA] (WFLY-12883) Add user API to handle merging @Stateful EJB instances on partition merge

Paul Ferraro (Jira) issues at jboss.org
Tue Jan 21 15:53:18 EST 2020


     [ https://issues.redhat.com/browse/WFLY-12883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Ferraro updated WFLY-12883:
--------------------------------
    Description: 
In the event of a detected network partition, the distributed bean manager's Infinispan cache behaves in one of 3 ways:

# Disallow both reads and writes from/to a SFSB in all partitions
# Allow reads from a SFSB in all partitions, but only allow writes to a SFSB if the partition contains all data owners.
# Allow both reads and writes to/from a SFSB in all partitions

For customers who opt for #3 (i.e. maximum availability), in the event that a SFSB is updated in both partitions, they need be able to provide a mechanism to resolve conflicts when the partitions eventually merge.

Something like:

{code:java}
public interface BeanInstanceMergePolicy<T> {
    T merge(T primaryPartitionBean, Iterable<T> minorityPartitionBeans); 
}
{code}

  was:
In the event of a detected network partition, the distributed bean manager's Infinispan cache behaves in one of 3 ways:

# Disallow both reads and writes from/to a SFSB in all partitions
# Allow reads from a SFSB in all partitions, but only allow writes to a SFSB if the partition contains all data owners.
# Allow both reads and writes to/from a SFSB in all partitions

For customers who opt for #3 (i.e. maximum availability), in the event that a SFSB is updated in both partitions, they need be able to provide a mechanism to resolve conflicts when the partitions eventually merge.

Something like:

{code:java}
public interface SessionAttributeMergePolicy {
    Object merge(String attributeName, Object primaryPartitionAttributeValue, Iterable<Object> minorityPartitionAttributeValues); 
}
{code}



> Add user API to handle merging @Stateful EJB instances on partition merge
> -------------------------------------------------------------------------
>
>                 Key: WFLY-12883
>                 URL: https://issues.redhat.com/browse/WFLY-12883
>             Project: WildFly
>          Issue Type: Feature Request
>          Components: Clustering
>    Affects Versions: 18.0.1.Final
>            Reporter: Paul Ferraro
>            Assignee: Paul Ferraro
>            Priority: Major
>
> In the event of a detected network partition, the distributed bean manager's Infinispan cache behaves in one of 3 ways:
> # Disallow both reads and writes from/to a SFSB in all partitions
> # Allow reads from a SFSB in all partitions, but only allow writes to a SFSB if the partition contains all data owners.
> # Allow both reads and writes to/from a SFSB in all partitions
> For customers who opt for #3 (i.e. maximum availability), in the event that a SFSB is updated in both partitions, they need be able to provide a mechanism to resolve conflicts when the partitions eventually merge.
> Something like:
> {code:java}
> public interface BeanInstanceMergePolicy<T> {
>     T merge(T primaryPartitionBean, Iterable<T> minorityPartitionBeans); 
> }
> {code}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list