Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-6773

Slow extension key creation in DefaultExtensionRealmCache under lock

    XMLWordPrintableJSON

    Details

      Description

      synchronized method DefaultProjectBuildingHelper#createProjectRealm invokes io under lock:

      public CacheKey( List<Artifact> extensionArtifacts )
          return new CacheKey( extensionArtifacts );
              public Key createKey( List<Artifact> extensionArtifacts )
                  final ExtensionRealmCache.Key extensionKey = extensionRealmCache.createKey( artifacts );
                      final ExtensionRealmCache.Key extensionKey = extensionRealmCache.createKey( artifacts );
                          extensionRecord = extensionRealmCache.get( extensionKey ); 

       That prevents graph build scaling in multithreaded implementation and slows down build in general. Having this operation improved allows to build graph faster up to 3..6 times for interim results processing

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                Alexander Ashitkin Alexander Ashitkin
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 10m
                  10m