cstamas opened a new pull request #77: URL: https://github.com/apache/maven-resolver/pull/77
Just some scratches for synccontext, and added few implementations and an intermittent layer NamedLock that implements ref counting, for those implementations that needs it. So "global" synccontext is bad as it is too "coarse", and there is "redisson" synccontext. This PR adds "fine grained" local synccontexts as alternative to global, and Hazelcast ones (and copies redisson as well). Implemented: - JVM ReentrantReadWriteLock using, usable for MT builds - JVM Semaphore using, usable for MT builds - Hazelcast and Hazelcast client ISemaphore using, usable for MT and MP builds - Copy+Pasted Redisson based as well (but no tests), should be usable for MT and MP builds Note about Hazelcast: currently using _deprecated_ API as well, as HZ itself is in quite flux (in HZ3.x CP subsystem is usable only with 3+ nodes, in HZ4.0.x CP got "unsafe" operation so is usable with less than 3 nodes, but CP objects remains in heap forever as destroyed... so upgrade to latest HZ could be possible when some alternate CP structure is implemented, and code changed to use that maybe, or just avoiding to destroy DOs). Still, same code modified to use CP works if one creates a dedicated HZ cluster with CP enabled and uses hazelcast-client to connect to it. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org