[jboss-jira] [JBoss JIRA] (WFLY-12266) Distributed session changes fail to replicate if subsequent request arrives < 1 second after session was created.

Paul Ferraro (Jira) issues at jboss.org
Mon Jul 1 15:30:00 EDT 2019


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

Paul Ferraro updated WFLY-12266:
--------------------------------
    Description: 
As a marshalling optimization, the last access duration of a session (i.e. the duration of time since the session was created) is stored with seconds precision.  However, we assume that a given distributed session is "new" if it's duration is 0.  When the backing cache is transactional, we don't perform any mutations when a new session is closed.  Thus if a request arrives < 1 second after a session was created, any changes will not be replicated.  Given the prevalence of redirects after a session is created, it is likely that users will encounter this problem.

Essentially, the existing code assumes that Duration.ofSeconds(0) != Duration.ZERO. Unfortunately, this is false.

  was:As a marshalling optimization, the last access duration of a session (i.e. the duration of time since the session was created) is stored with seconds precision.  However, we assume that a given distributed session is "new" if it's duration is 0.  When the backing cache is transactional, we don't perform any mutations when a new session is closed.  Thus if a request arrives < 1 second after a session was created, any changes will not be replicated.  Given the prevalence of redirects after a session is created, it is likely that users will encounter this problem.



> Distributed session changes fail to replicate if subsequent request arrives < 1 second after session was created.
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-12266
>                 URL: https://issues.jboss.org/browse/WFLY-12266
>             Project: WildFly
>          Issue Type: Bug
>          Components: Clustering
>    Affects Versions: 17.0.0.Final
>            Reporter: Paul Ferraro
>            Assignee: Paul Ferraro
>            Priority: Critical
>
> As a marshalling optimization, the last access duration of a session (i.e. the duration of time since the session was created) is stored with seconds precision.  However, we assume that a given distributed session is "new" if it's duration is 0.  When the backing cache is transactional, we don't perform any mutations when a new session is closed.  Thus if a request arrives < 1 second after a session was created, any changes will not be replicated.  Given the prevalence of redirects after a session is created, it is likely that users will encounter this problem.
> Essentially, the existing code assumes that Duration.ofSeconds(0) != Duration.ZERO. Unfortunately, this is false.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list