On Fri, Aug 28, 2026 at 3:12 PM <[email protected]> wrote:
>
> This is an automated email from the ASF dual-hosted git repository.
>
> markt-asf pushed a commit to branch main
> in repository https://gitbox.apache.org/repos/asf/tomcat.git
>
>
> The following commit(s) were added to refs/heads/main by this push:
>      new e70460d5ec Follow-up "Avoid some scenarios of expiration of never 
> expire sessions"
> e70460d5ec is described below
>
> commit e70460d5ec337720d169cb8f8ac2498e9d1738c9
> Author: Mark Thomas <[email protected]>
> AuthorDate: Fri Aug 28 14:11:43 2026 +0100
>
>     Follow-up "Avoid some scenarios of expiration of never expire sessions"
>
>     getMaxInactiveInterval == 0 is documented as never expire.

+1, thanks, I forgot.

Rémy

> ---
>  java/org/apache/catalina/session/DataSourceStore.java | 2 +-
>  java/org/apache/catalina/session/StoreBase.java       | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/java/org/apache/catalina/session/DataSourceStore.java 
> b/java/org/apache/catalina/session/DataSourceStore.java
> index ee7e9cbaac..8e87813977 100644
> --- a/java/org/apache/catalina/session/DataSourceStore.java
> +++ b/java/org/apache/catalina/session/DataSourceStore.java
> @@ -356,7 +356,7 @@ public class DataSourceStore extends StoreBase {
>      private String[] keys(boolean expiredOnly) throws IOException {
>          String sqlTmp = "SELECT " + sessionIdCol + " FROM " + sessionTable + 
> " WHERE " + sessionAppCol + " = ?";
>          if (expiredOnly) {
> -            sqlTmp += " AND " + sessionMaxInactiveCol + " >= 0";
> +            sqlTmp += " AND " + sessionMaxInactiveCol + " > 0";
>              sqlTmp += " AND (" + sessionLastAccessedCol + " + " + 
> sessionMaxInactiveCol + " * 1000 < ?)";
>          }
>          final String keysSql = sqlTmp;
> diff --git a/java/org/apache/catalina/session/StoreBase.java 
> b/java/org/apache/catalina/session/StoreBase.java
> index 373594d6f5..190808d35a 100644
> --- a/java/org/apache/catalina/session/StoreBase.java
> +++ b/java/org/apache/catalina/session/StoreBase.java
> @@ -161,7 +161,7 @@ public abstract class StoreBase extends LifecycleBase 
> implements Store {
>                  }
>                  int timeIdle = (int) ((timeNow - 
> session.getThisAccessedTime()) / 1000L);
>                  int maxInactive = session.getMaxInactiveInterval();
> -                if (maxInactive < 0 || timeIdle < maxInactive) {
> +                if (maxInactive <= 0 || timeIdle < maxInactive) {
>                      continue;
>                  }
>                  if (manager.getContext().getLogger().isTraceEnabled()) {
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to