[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