Re: RFR: 8262316: Reducing locks in RSA Blinding [v3]
> Hi, > > I need a review of the locking change to the RSA blinding code. The problem > was reported that multithreaded performance suffered because there was one > global lock on the many blindings operation. The change reduces locking by > using a ConcurrentLinkedQueue to store the different BlindingParameters that > other threads maybe using. The queue size is limited to prevent sudden > surges in stored BlindingParameters and a WeakHashMap is still used so the > objects can be freed when no longer used. Performance doubles under high > load. > > thanks > > Tony Anthony Scarpino has updated the pull request incrementally with one additional commit since the last revision: Use ReentrantLock for put and get - Changes: - all: https://git.openjdk.java.net/jdk/pull/3296/files - new: https://git.openjdk.java.net/jdk/pull/3296/files/e948ecac..dda3ed69 Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk=3296=02 - incr: https://webrevs.openjdk.java.net/?repo=jdk=3296=01-02 Stats: 21 lines in 1 file changed: 9 ins; 0 del; 12 mod Patch: https://git.openjdk.java.net/jdk/pull/3296.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/3296/head:pull/3296 PR: https://git.openjdk.java.net/jdk/pull/3296
Re: RFR: 8264554: X509KeyManagerImpl calls getProtectionParameter with incorrect alias
On Fri, 2 Apr 2021 16:38:14 GMT, Xue-Lei Andrew Fan wrote: > In X509KeyManagerImpl.java, a composited entry alias consists three parts: > an UID counter, a builder index and the real entry alias (See the makeAlias() > method). While calling the KeyStore.Builder.getProtectionParameter(String > alias) method, the real entry alias should be used instead, rather than the > composited entry alias. > > Simple and straightforward update, no new regression test. ping ... - PR: https://git.openjdk.java.net/jdk/pull/3326
Re: RFR: 8263779: SSLEngine reports NEED_WRAP continuously without producing any further output
On Wed, 31 Mar 2021 20:52:57 GMT, Xue-Lei Andrew Fan wrote: > As described in the bug, by connecting the SSLEngine with a misbehaving peer > SSL implementation, it can get into a state where it calling `wrap` reports > getStatus == OK, getHandshakeStatus === NEED_WRAP but still doesn't produce > any further output. It happens when the output bound is not empty. > > The handshake status could have more precise status if the out bound. The > patch was confirmed by the bug submitter. ping ... - PR: https://git.openjdk.java.net/jdk/pull/3292
Re: RFR: 8262316: Reducing locks in RSA Blinding [v2]
On Sat, 3 Apr 2021 05:40:11 GMT, djelinski wrote: >> If you synchronize `putIfAbsent` but not `get` you'll still get the possible >> infinite loop described in the SO post. > > Expunging entries is synchronized over an internal data structure, so if you > synchronize puts only, nothing prevents expunge (called from get) from > running in parallel with put. > The original code performed big integer exponentiation inside a synchronized > block, your code doesn't. I expect substantial performance gains even with > synchronization around hash map access, this is why I asked about performance. I finally see that get() is affected by the locking. Expunge seems to not lock the able which could cause multiple threads get ops to corrupt the map. I'll put a ReentrantLock around the put & get. I prefer to not use synchronized() blocks as ReentrantLock maybe better after Project Loom Sure, the performance was largely affected by the math ops in the old code. I wanted to eliminate as much of the performance decelerators as possible - PR: https://git.openjdk.java.net/jdk/pull/3296
Re: RFR: 8264190: Harden TLS interop tests [v4]
On Wed, 31 Mar 2021 10:53:34 GMT, Fernando Guallini wrote: >> Occasional interop tests failures may occur when making use of the >> test/jdk/javax/net/ssl/TLSCommon/interop framework since there is no >> assurance the selected available port it is still free at the time a server >> using the framework starts up, for instance, by command line. To mitigate >> intermittent failures, this patch updates interop/BaseInteropTest.java in >> order to validate the server is alive and if not, retry to create a valid >> server. >> >> In addition, Utilities::isSessionResumed implementation is now comparing >> equality of first and second session creation time to validate session >> resumption > > Fernando Guallini has updated the pull request incrementally with one > additional commit since the last revision: > > add max_retries count, move shell methods to ProcUtils and add win methods Marked as reviewed by rhalade (Reviewer). - PR: https://git.openjdk.java.net/jdk/pull/3218
Integrated: 8248862: Implement Enhanced Pseudo-Random Number Generators
On Wed, 18 Nov 2020 13:45:12 GMT, Jim Laskey wrote: > This PR is to introduce a new random number API for the JDK. The primary API > is found in RandomGenerator and RandomGeneratorFactory. Further description > can be found in the JEP https://openjdk.java.net/jeps/356 . > > javadoc can be found at > http://cr.openjdk.java.net/~jlaskey/prng/doc/api/java.base/java/util/random/package-summary.html > > old PR: https://github.com/openjdk/jdk/pull/1273 This pull request has now been integrated. Changeset: a0ec2cb2 Author:Jim Laskey URL: https://git.openjdk.java.net/jdk/commit/a0ec2cb2 Stats: 12973 lines in 27 files changed: 11202 ins; 1590 del; 181 mod 8248862: Implement Enhanced Pseudo-Random Number Generators Reviewed-by: darcy - PR: https://git.openjdk.java.net/jdk/pull/1292
Re: RFR: 8248862: Implement Enhanced Pseudo-Random Number Generators [v42]
> This PR is to introduce a new random number API for the JDK. The primary API > is found in RandomGenerator and RandomGeneratorFactory. Further description > can be found in the JEP https://openjdk.java.net/jeps/356 . > > javadoc can be found at > http://cr.openjdk.java.net/~jlaskey/prng/doc/api/java.base/java/util/random/package-summary.html > > old PR: https://github.com/openjdk/jdk/pull/1273 Jim Laskey has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 78 commits: - Merge branch 'master' into 8248862 - Fix NotCompliantCauseTest to not rely on Random not being a bean - Merge branch 'master' into 8248862 - Correct return type of RandomGeneratorFactory.of - Merge branch 'master' into 8248862 - CSR review revisions - CSR review updates - Removed @since from nextDouble ThreadLocalRandom - RandomGeneratorFactory::all(Class category) @implNote was out of date - Clarify all() - ... and 68 more: https://git.openjdk.java.net/jdk/compare/a8005efd...ffd982b0 - Changes: https://git.openjdk.java.net/jdk/pull/1292/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk=1292=41 Stats: 12973 lines in 27 files changed: 11202 ins; 1590 del; 181 mod Patch: https://git.openjdk.java.net/jdk/pull/1292.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/1292/head:pull/1292 PR: https://git.openjdk.java.net/jdk/pull/1292