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

Slow extension key creation in DefaultExtensionRealmCache under lock

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

              Dates

              • Created:
                Updated:

                Time Tracking

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

                  Issue deployment