WIP: test: verify shared sessions after Redis promotion #18

Draft
KofTwentyTwo wants to merge 1 commits from test/session-promotion-1301 into fix/assertj-test-dependency-1314
pull from: test/session-promotion-1301
KofTwentyTwo commented 2026-10-26 12:58:42 +00:00 (Migrated from github.com)

Connection recovery alone does not verify session behavior after Redis promotion. This adds an actual SharedRedisSessionStoreProvider integration test with a primary/replica pair and three QQQ instances. It verifies replicated active sessions, replicated revocation, infrastructure failures on the stopped primary, new sessions, cross-node deletion, sliding expiry and rejection of renewal for expired/deleted sessions after controlled promotion.

The test observes a replication barrier after logout before stopping the primary. It does not claim that an unreplicated logout or permission change survives failover. Actual endpoint routing, old-primary fencing and a policy for lost/restored authentication state remain open in QRun-IO/qqq#1301. No runtime behavior changes.

Validation: full verify passed 67 unit plus 30 integration tests, zero failures/errors/skips, zero Checkstyle violations, and coverage gates passed. A first full run encountered an initial-replica-load socket timeout; only the bounded 15-second bootstrap polling now tolerates connection errors. Production timeouts and every post-startup assertion remain unchanged.

Stacked on PR17 (fix/assertj-test-dependency-1314, 0f50ca15), preserving that assertion dependency fix. Complements QRun-IO/qbit-redis#4. No merge, publication or deployment; issue1301 remains open.

Connection recovery alone does not verify session behavior after Redis promotion. This adds an actual SharedRedisSessionStoreProvider integration test with a primary/replica pair and three QQQ instances. It verifies replicated active sessions, replicated revocation, infrastructure failures on the stopped primary, new sessions, cross-node deletion, sliding expiry and rejection of renewal for expired/deleted sessions after controlled promotion. The test observes a replication barrier after logout before stopping the primary. It does not claim that an unreplicated logout or permission change survives failover. Actual endpoint routing, old-primary fencing and a policy for lost/restored authentication state remain open in QRun-IO/qqq#1301. No runtime behavior changes. Validation: full verify passed 67 unit plus 30 integration tests, zero failures/errors/skips, zero Checkstyle violations, and coverage gates passed. A first full run encountered an initial-replica-load socket timeout; only the bounded 15-second bootstrap polling now tolerates connection errors. Production timeouts and every post-startup assertion remain unchanged. Stacked on PR17 (`fix/assertj-test-dependency-1314`, 0f50ca15), preserving that assertion dependency fix. Complements QRun-IO/qbit-redis#4. No merge, publication or deployment; issue1301 remains open.
You are not authorized to merge this pull request.
This pull request can be merged automatically.
This pull request is marked as a work in progress.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin test/session-promotion-1301:test/session-promotion-1301
git checkout test/session-promotion-1301
Sign in to join this conversation.