> Please review this patch that makes sure KeepAliveCache does not block all > threads while closing sockets. > > Changes: > - get operation no longer closes sockets; if there's no socket that is recent > enough, get returns null and lets the cleaner thread close the sockets > - put operation closes sockets without holding the cache lock. Additionally, > if the cache is full, it places the new connection in the cache and removes > the oldest connection. > - the cleaner thread creates a list of connections to close, and then closes > them after releasing the cache lock > - additionally, we set the socket timeout to 1 millisecond before calling > socket.close > > The new test fails with `Wait for second request timed out` without this > patch, passes after the changes. Tiers 1-3 clean.
Daniel Jeliński has updated the pull request incrementally with two additional commits since the last revision: - Close connections in finally block - Fix copyright year ------------- Changes: - all: https://git.openjdk.org/jdk/pull/10401/files - new: https://git.openjdk.org/jdk/pull/10401/files/4410abf1..48a7ca17 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=10401&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10401&range=02-03 Stats: 6 lines in 2 files changed: 0 ins; 0 del; 6 mod Patch: https://git.openjdk.org/jdk/pull/10401.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10401/head:pull/10401 PR: https://git.openjdk.org/jdk/pull/10401
