[jboss-jira] [JBoss JIRA] (WFLY-12882) Add user API to handle merging HttpSession attributes/metadata on partition merge

Paul Ferraro (Jira) issues at jboss.org
Tue Jan 21 14:19:26 EST 2020


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

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

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

For customers who opt for #3 (i.e. maximum availability), in the event that a web session is updated in both partitions, they need be able to provide a mechanism to resolve conflicts when the partitions eventually merge.
When partition handling of a web session cache is enabled, users need a mechanism to control how to resolve conflicting session attributes on merge.

Something like:

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

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

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

For customers who opt for #3 (i.e. maximum availability), they need be able to provide a mechanism to resolve conflicts following partition merge, in the event that a web session is updated in both partitions.
When partition handling of a web session cache is enabled, users need a mechanism to control how to resolve conflicting session attributes on merge.

Something like:

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



> Add user API to handle merging HttpSession attributes/metadata on partition merge
> ---------------------------------------------------------------------------------
>
>                 Key: WFLY-12882
>                 URL: https://issues.redhat.com/browse/WFLY-12882
>             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 web session manager's Infinispan cache behaves in one of 3 ways:
> # Disallow both reads and writes from/to a web session in all partitions
> # Allow reads from a web session in all partitions, but only allow writes to a web session if the partition contains all data owners.
> # Allow both reads and writes to/from a web session in all partitions
> For customers who opt for #3 (i.e. maximum availability), in the event that a web session is updated in both partitions, they need be able to provide a mechanism to resolve conflicts when the partitions eventually merge.
> When partition handling of a web session cache is enabled, users need a mechanism to control how to resolve conflicting session attributes on merge.
> Something like:
> {code:java}
> public interface SessionAttributeMergePolicy {
>     Object merge(String attributeName, Object primaryPartitionAttributeValue, Iterable<Object> minorityPartitionAttributeValues); 
> }
> {code}



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


More information about the jboss-jira mailing list