On Tue, 27 Oct 2026 15:34:46 GMT, Roland Mesde <[email protected]> wrote:
>> This PR uses a shared per session family depth limit + per session depth >> value to enforce invalidation. This will remove the container's >> (ConcurrentLinkedQueue) strong references to the child sessions, which >> allows child sessions to be garbage collected when they are no longer >> reachable. The drawback is that the invalidation depth limit will be per >> family, so once a session is invalidated at the specified depth, all deeper >> sessions will be invalidated, not just its descendants. >> >> Ran related tests on linux-x64, linux-aarch64, macos-aarch64 and windows-x64: >> >> make test TEST=test/jdk/sun/security/ssl >> make test TEST=test/jdk/javax/net/ssl >> >> Results: >> >> [windows-x64-specific-test.log](https://github.com/user-attachments/files/33689537/windows-x64-specific-test.log) >> [windows-x64-specific-2-test.log](https://github.com/user-attachments/files/33689538/windows-x64-specific-2-test.log) >> [macos-aarch64-specific-test.log](https://github.com/user-attachments/files/33689539/macos-aarch64-specific-test.log) >> [macos-aarch64-specific-2-test.log](https://github.com/user-attachments/files/33689540/macos-aarch64-specific-2-test.log) >> [linux-x64-specific-test.log](https://github.com/user-attachments/files/33689541/linux-x64-specific-test.log) >> [linux-x64-specific-2-test.log](https://github.com/user-attachments/files/33689542/linux-x64-specific-2-test.log) >> [linux-aarch64-specific-test.log](https://github.com/user-attachments/files/33689543/linux-aarch64-specific-test.log) >> [linux-aarch64-specific-2-test.log](https://github.com/user-attachments/files/33689544/linux-aarch64-specific-2-test.log) >> >> Low risk - the change is limited to SSLSessionImpl, its cache lookup and the >> ticket code. The worst case is an occasional extra full handshake. >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Roland Mesde has updated the pull request incrementally with one additional > commit since the last revision: > > Update Copyright Header src/java.base/share/classes/sun/security/ssl/SSLSessionImpl.java line 121: > 119: /* > 120: * A family is composed of a root session and the sessions that are > 121: * derived from its ticket. Sessions that are derived from the > tickets of Nit: I think we should define membership through the copy constructor to avoid ambiguity. A server reconstructing a stateless ticket starts a new family with depth 0. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/33447#discussion_r4392992421
