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


Reply via email to