Uploaded image for project: 'Maven Resolver'
  1. Maven Resolver
  2. MRESOLVER-123

Provide a global locking sync context by default

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.4.2
    • Fix Version/s: 1.5.0, 1.6.0, 1.6.1
    • Component/s: Resolver
    • Labels:
      None

      Description

      This is an umbrella ticket for a long standing issue with Maven Resolver: Our concurrency support is mediocre in a way that if two or more threads try to download the same file and fail to queue those write actions nicely. The problem is that The SyncContext and the its factory provided by Maven Resolver does not employ any locking at all. As layed out in detail in MRESOLVER-114 we need striped read write locks on artifacts and its metadata. This issue shall track progress on it. Even Takari Concurrent Repository extension does not help because it is only intended to synchronize concurrent access by multple JVMs and not threads.

      This improvement will provide solely a global locking sync context which will work in single JVM. It is a non-goal to make it work with mulitple JVMs. A downside of this solution is that is coarse, possible degregation of performance for the sake of stability.

        Attachments

        1. checksum-error-debug.log
          858 kB
          Rainer Reich
        2. mvn-debug-1.4.3-123.txt.gz
          6.55 MB
          Rainer Reich

          Issue Links

            Activity

              People

              • Assignee:
                michael-o Michael Osipov
                Reporter:
                michael-o Michael Osipov
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: