8000 Remove offline session cache entry lifespan override options by ruchikajha95 · Pull Request #54644 · keycloak/keycloak · GitHub
[go: up one dir, main page]

Skip to content

Remove offline session cache entry lifespan override options - #54644

Merged
ahus1 merged 7 commits into
keycloak:mainfrom
ruchikajha95:iss-40981/Remove-cache-embedded-offline-sessions-max-count
Nov 12, 2026
Merged

ahus1 merged 7 commits into
keycloak:mainfrom
ruchikajha95:iss-40981/Remove-cache-embedded-offline-sessions-max-count

Conversation

@ruchikajha95
@ruchikajha95 ruchikajha95 commented Nov 4, 2026 •
Copy link
Copy Markdown
Contributor

Removes the deprecated SPI configuration options for overriding offline session cache entry lifespans:

  • spi-user-sessions--infinispan--offline-session-cache-entry-lifespan-override
  • spi-user-sessions--infinispan--offline-client-session-cache-entry-lifespan-override

Closes #40981

@ruchikajha95 ruchikajha95 self-assigned this Nov 4, 2026
@ruchikajha95
ruchikajha95 requested a review from ahus1 November 4, 2026 16:15
@ahus1 ahus1 changed the title Remove cache embedded offline sessions max count . Remove cache embedded offline sessions max count Nov 4, 2026
@ruchikajha95
ruchikajha95 force-pushed the iss-40981/Remove-cache-embedded-offline-sessions-max-count branch 4 times, most recently from 29e2a62 to f9e37bb Compare November 11, 2026 09:48
@ruchikajha95 ruchikajha95 changed the title Remove cache embedded offline sessions max count Remove offline session cache entry lifespan override options Nov 11, 2026
@ruchikajha95
ruchikajha95 requested a balanced review from Copilot November 11, 2026 13:28
Copilot AI left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Removing offline caches from persistent-session configuration bypasses critical safeguards against unbounded growth and stale entries, while deleting their size-limit CLI options breaks existing configurations.

3 open issues
What changed in this PR

Removes the deprecated offline-session cache lifespan overrides from Keycloak’s Infinispan session provider for Keycloak 27, addressing #40981.

Changes:

  • Removes override configuration, metadata, helper methods, and the dedicated model test.
  • Removes offline-cache max-count entries from configuration lists and CLI help snapshots.
  • Updates caching documentation and upgrade guidance.
File Description
testsuite/​model/​src/​test/​java/​org/​keycloak/​testsuite/​model/​session/​UserSessionProviderOfflineModelTest.java Removes the lifespan-override test and unused imports.
testsuite/​model/​src/​test/​java/​org/​keycloak/​testsuite/​model/​parameters/​Infinispan.java Removes override settings from test configuration.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testUpdateCompatibilityMetadataHelpAll.approved.txt Removes offline max-count options from extended metadata help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testUpdateCompatibilityMetadataHelp.approved.txt Removes offline max-count options from metadata help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testUpdateCompatibilityCheckHelpAll.approved.txt Removes offline max-count options from extended compatibility-check help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testUpdateCompatibilityCheckHelp.approved.txt Removes offline max-count options from compatibility-check help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testStartOptimizedHelpAll.approved.txt Removes offline max-count options from extended optimized-start help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testStartOptimizedHelp.approved.txt Removes offline max-count options from optimized-start help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testStartHelpAll.approved.txt Removes offline max-count options from extended start help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testStartHelp.approved.txt Removes offline max-count options from start help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testStartDevHelpAll.approved.txt Removes offline max-count options from extended development-start help.
quarkus/​tests/​integration/​src/​test/​resources/​org/​keycloak/​it/​cli/​dist/​approvals/​cli/​help/​HelpCommandDistTest.testStartDevHelp.approved.txt Removes offline max-count options from development-start help.
quarkus/​config-api/​src/​main/​java/​org/​keycloak/​config/​CachingOptions.java Removes offline caches from the max-count CLI option list.
model/​infinispan/​src/​main/​java/​org/​keycloak/​models/​sessions/​infinispan/​InfinispanUserSessionProviderFactory.java Removes overrides and uses standard session-lifespan calculations.
model/​infinispan/​src/​main/​java/​org/​keycloak/​connections/​infinispan/​InfinispanConnectionProvider.java Removes offline caches from the provider’s max-count list.
docs/​guides/​server/​caching.adoc Changes the cache-limit example and removes the volatile-mode warning.
docs/​documentation/​upgrading/​topics/​changes/​changes-27_0_0.adoc Documents removal of the lifespan override options.
docs/​documentation/​server_admin/​topics/​sessions/​offline.adoc Revises offline-session storage and caching guidance.

Review effort: Balanced

Copilot AI left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The caching documentation omits the volatile-session exception, misleading operators into expecting memory limits on sessions and clientSessions to take effect when only offline cache limits remain supported in that mode.

No open issues 🎉

1 previously missed issue

In code that hasn't changed since last review

Low severity Clarify volatile sessions ignore sessions and clientSessions cache limits

docs/​guides/​server/​caching.adoc:159

Please retain the volatile-session exception: CacheConfigurator.configureSessionsCachesForVolatileSessions() still explicitly ignores limits on sessions and clientSessions (lines 282–294). Without that qualification, this example tells volatile-mode operators they can bound memory with an option that has no effect; the offline cache limits remain supported in that mode.

3 resolved since last review

Review effort: Balanced

@ruchikajha95
ruchikajha95 requested a review from ahus1 November 12, 2026 10:18
ruchikajha95 and others added 7 commits November 12, 2026 11:48
Closes keycloak#40981
Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
Closes keycloak#40981
Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
Closes keycloak#40981

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
Closes keycloak#40981

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
Closes keycloak#40981

Signed-off-by: Ruchika <ruchika.jha1@ibm.com>
- Restore offline caches to CLUSTERED_MAX_COUNT_CACHES arrays to preserve persistent-session safeguards (memory bounds, single ownership, expiration-reaper config)
- Revert help snapshots to keep CLI cache max-count options which are independent of the deprecated SPI lifespan override options
- Fix documentation to remove incorrect claim that persistent sessions are mandatory - volatile sessions are still selectable

Signed-off-by: Ruchika <Ruchika.Jha1@ibm.com>
Signed-off-by: Alexander Schwartz <alexander.schwartz@ibm.com>
@ahus1
ahus1 force-pushed the iss-40981/Remove-cache-embedded-offline-sessions-max-count branch from 184ea11 to c9a87b8 Compare November 12, 2026 10:49
@ahus1
ahus1 marked this pull request as ready for review November 12, 2026 10:50
@ahus1
8000 ahus1 requested review from a team as code owners November 12, 2026 10:50
@ahus1
ahus1 requested review from a team as code owners November 12, 2026 10:50
Copilot AI balanced review requested due to automatic review settings November 12, 2026 10:50
@ahus1
ahus1 enabled auto-merge (squash) November 12, 2026 10:50
Copilot AI left a comment
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues remain for the change to standard offline-session cache lifespan calculations.

No open issues 🎉

Review effort: Balanced

@ahus1 ahus1 self-assigned this Nov 12, 2026
@ahus1
ahus1 merged commit c8a943d into keycloak:main Nov 12, 2026
96 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove options ...-cache-entry-lifespan-override

3 participants

3FA1
0