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

              Unassigned Unassigned
              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