Results 106 comments of Andrej Fink

> How do VirtualThreads come into play here? If I use VirtualThreads thread pool, then `println` blocks (sometime) If I use normal (platform) thread pool, then `println` works I have...

I couldn't make thread dump: tools have been blocked too 🤷‍♀️ in middle of the connection-process

Thank you so much for such a thoughtful response! And again, thank you so much for Ebean! :-) > Are you looking to contribute it to be part of ebean...

It is absolutely safe (even if by accident). Only this case with key==0 is a problem. I didn't want to call `removeKey` in `forEachKeyValue` in the first place, BUT `keyValuesView`...

I would choose both :-) 1. implement keyValuesView.iterator().remove() - is a very good thing! 2. Document forEachKeyValue as allowing remove (but not put!) and test all scenarios with this and...

I've just checked: this pattern is everywhere ```java if (this.sentinelValues != null) { if (this.sentinelValues.containsZeroKey) { procedure.value(EMPTY_KEY); } if (this.sentinelValues.containsOneKey)// a place to hit your head { procedure.value(REMOVED_KEY); } }...

https://jitpack.io/ must work with maven projects, but it didn't. With `jitpack.yml` from this PR jitpack.io works as expected. See: https://jitpack.io/#magicprinc/easy-random/5.2 Many people still can't upgrade from Slf4j 1.7.+ to 2.+...

Plus it creates (if needed) ForkJoinPool with asyncMode=true (which is recommended for normal Runnables and Callables) and it uses Math.max(Runtime.getRuntime().availableProcessors(), 2) for parallelism. ForkJoinPool.commonPool() can have less parallelism because of...

There are only 225 lines of code. Now with almost 100% test code coverage (I have written tests to cover all lines, even not "mine"). What line is unclear? I...

I report problem so to say :-) It was too many moving parts: Double-checked locking singleton pattern is outdated. 8+4+1 extra (unused) bytes per every task (in reality even more:...