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 126: > 124: * is greater than or equal to the familyDepthLimit, which is > initially set > 125: * to Long.MAX_VALUE. Once a session is invalidated at the specified > depth, > 126: * all deeper sessions will be invalidated, not just its branch > descendants. Let's clarify that invalidating all deeper sessions happens only when `hasDescendant` is `true`. Invalidating a session that has never produced a copy leaves the shared limit unchanged. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/33447#discussion_r4393072836
