[jboss-jira] [JBoss JIRA] (WFLY-12669) Clustering: scattered cache sampling errors

Paul Ferraro (Jira) issues at jboss.org
Tue Oct 22 08:42:01 EDT 2019


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

Paul Ferraro commented on WFLY-12669:
-------------------------------------

The behavior difference is a result of changes to the behavior of HttpSession.setAttribute(...) for SESSION granularity:
https://github.com/wildfly/wildfly/blob/17.0.x/clustering/web/cache/src/main/java/org/wildfly/clustering/web/cache/session/coarse/CoarseSessionAttributes.java#L68
https://github.com/wildfly/wildfly/blob/18.0.x/clustering/web/cache/src/main/java/org/wildfly/clustering/web/cache/session/coarse/CoarseSessionAttributes.java#L72

WF17 performs a cache write of all session attributes every call to setAttribute(...) whereas WF18 only performs the cache write at the end of the request.  A request received by another node the arrives before the node completes this write will be dirty, since the cache is non-tx.  However, in practice, non-tx caches are more appropriately used with ATTRIBUTE granularity.  SESSION granularity with a non-tx cache is not a common use case.

> Clustering: scattered cache sampling errors
> -------------------------------------------
>
>                 Key: WFLY-12669
>                 URL: https://issues.jboss.org/browse/WFLY-12669
>             Project: WildFly
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 18.0.0.Final
>            Reporter: Tommasso Borgato
>            Assignee: Paul Ferraro
>            Priority: Blocker
>         Attachments: clusterbench-ee8.ear
>
>
> The issue is about scattered cache replication across cluster nodes;
> WildFly is started in clustered mode using a scattered cache for replicating HTTP session data across cluster nodes; all 4 nodes in the cluster are initialized with the following {{cli}} script:
> {noformat}
> embed-server --server-config=standalone-ha.xml
> /subsystem=jgroups/channel=ee:write-attribute(name=stack,value=tcp)
> /subsystem=infinispan/cache-container=web/scattered-cache=testScattered:add()
> /subsystem=infinispan/cache-container=web:write-attribute(name=default-cache, value=testScattered)
> {noformat}
> The test is run with [wildfly-18.​0.0.Final.zip|https://download.jboss.org/wildfly/18.0.0.Final/wildfly-18.0.0.Final.zip]; 
> The same tests run with version [wildfly-17.​0.1.Final.zip|https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip] do not have any problem; 
> hence this looks like a regression;
> As usual, we test that the serial value stored in the scattered cache is incremented at every call: when this is not true, we say we have a *sampling error*;
> Using MOD_JK as load balancer, we have a *22.46%* of *sampling errors* with wildfly-18.​0.0.Final.zip (0% with  wildfly-17.​0.1.Final.zip):
> - OK [eap-7.x-clustering-http-session-shutdown-scattered with wildfly-17.​0.1.Final.zip|https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-Clustering/view/EAP7-Clustering-HTTP-Session/job/eap-7.x-clustering-http-session-shutdown-scattered/34/artifact/report/jm/html/index.html]
> - ERROR [eap-7.x-clustering-http-session-shutdown-scattered with wildfly-18.​0.0.Final.zip|https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-Clustering/view/EAP7-Clustering-HTTP-Session/job/eap-7.x-clustering-http-session-shutdown-scattered/33/artifact/report/jm/html/index.html]
> Using HAPROXY as load balancer, we have a *1.71%* of *sampling errors* with wildfly-18.​0.0.Final.zip (0% with  wildfly-17.​0.1.Final.zip):
> - OK [eap-7.x-clustering-http-session-shutdown-scattered with wildfly-17.​0.1.Final.zip|https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-Clustering/view/EAP7-Clustering-HTTP-Session/job/eap-7.x-clustering-http-session-shutdown-scattered/36/artifact/report/jm/html/index.html]
> - ERROR [eap-7.x-clustering-http-session-shutdown-scattered with wildfly-18.​0.0.Final.zip|https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-Clustering/view/EAP7-Clustering-HTTP-Session/job/eap-7.x-clustering-http-session-shutdown-scattered/38/artifact/report/jm/html/index.html]
> Using MOD_CLUSTER as load balancer, we have a *1.85%* of *sampling errors* with wildfly-18.​0.0.Final.zip (0% with  wildfly-17.​0.1.Final.zip):
> - OK [eap-7.x-clustering-http-session-shutdown-scattered with wildfly-17.​0.1.Final.zip|https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-Clustering/view/EAP7-Clustering-HTTP-Session/job/eap-7.x-clustering-http-session-shutdown-scattered/42/artifact/report/jm/html/index.html]
> - ERROR [eap-7.x-clustering-http-session-shutdown-scattered with wildfly-18.​0.0.Final.zip|https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP7/view/EAP7-Clustering/view/EAP7-Clustering-HTTP-Session/job/eap-7.x-clustering-http-session-shutdown-scattered/41/artifact/report/jm/html/index.html]
> On the server we deploy, as usual, {{clusterbench}} (see attachment clusterbench-ee8.ear).



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



More information about the jboss-jira mailing list