Details

    • Target Release:
    • Steps to Reproduce:
      Hide
      • Use the attached niogit.zip containing 1000 drl files, unzip it in the start directory
      • Start the server
      • Navigate to the testproj1, wait until it is fully indexed
      • Open a drl
      • It takes 30-50 seconds to open
      Show
      Use the attached niogit.zip containing 1000 drl files, unzip it in the start directory Start the server Navigate to the testproj1, wait until it is fully indexed Open a drl It takes 30-50 seconds to open
    • Sprint:
      2019 Week 41-43 (from Okt 7)

      Description

      With a higher number of assets, opening an asset, such as a drl file with open Project Explorer, can take a long time.

      Taking thread dumps, we can see that the main activity is in ProjectExplorerImpl.getContent():

      "default task-41" #1065 prio=5 os_prio=0 tid=0x0000000019812800 nid=0x26f0 runnable [0x00007f37fd53b000]
         java.lang.Thread.State: RUNNABLE
      	at java.util.zip.Inflater.inflateBytes(Native Method)
      	at java.util.zip.Inflater.inflate(Inflater.java:259)
      	- locked <0x00000007793bb0c0> (a java.util.zip.ZStreamRef)
      	at org.eclipse.jgit.internal.storage.file.WindowCursor.inflate(WindowCursor.java:304)
      	at org.eclipse.jgit.internal.storage.file.PackFile.decompress(PackFile.java:357)
      	at org.eclipse.jgit.internal.storage.file.PackFile.load(PackFile.java:868)
      	at org.eclipse.jgit.internal.storage.file.PackFile.get(PackFile.java:275)
      	at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedObject(ObjectDirectory.java:471)
      	at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPackedFromSelfOrAlternate(ObjectDirectory.java:429)
      	at org.eclipse.jgit.internal.storage.file.ObjectDirectory.openObject(ObjectDirectory.java:420)
      	at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:159)
      	at org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(CanonicalTreeParser.java:214)
      	at org.eclipse.jgit.treewalk.CanonicalTreeParser.createSubtreeIterator0(CanonicalTreeParser.java:248)
      	at org.eclipse.jgit.treewalk.CanonicalTreeParser.createSubtreeIterator(CanonicalTreeParser.java:226)
      	at org.eclipse.jgit.treewalk.CanonicalTreeParser.createSubtreeIterator(CanonicalTreeParser.java:70)
      	at org.eclipse.jgit.treewalk.TreeWalk.enterSubtree(TreeWalk.java:1271)
      	at org.uberfire.java.nio.fs.jgit.util.commands.GetPathInfo.execute(GetPathInfo.java:82)
      	at org.uberfire.java.nio.fs.jgit.util.GitImpl.lambda$getPathInfo$3(GitImpl.java:397)
      	at org.uberfire.java.nio.fs.jgit.util.GitImpl$$Lambda$1025/1614525671.get(Unknown Source)
      	at org.uberfire.java.nio.fs.jgit.util.GitImpl.retryIfNeeded(GitImpl.java:473)
      	at org.uberfire.java.nio.fs.jgit.util.GitImpl.getPathInfo(GitImpl.java:394)
      	at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider.readAttributes(JGitFileSystemProvider.java:2073)
      	at org.uberfire.java.nio.file.Files.readAttributes(Files.java:638)
      	at org.uberfire.java.nio.file.Files.isDirectory(Files.java:995)
      	at org.guvnor.common.services.backend.file.LinkedDirectoryFilter.accept(LinkedDirectoryFilter.java:44)
      	at org.guvnor.common.services.backend.file.LinkedDirectoryFilter.accept(LinkedDirectoryFilter.java:25)
      	at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider$5$1.readNextEntry(JGitFileSystemProvider.java:1239)
      	at org.uberfire.java.nio.fs.jgit.JGitFileSystemProvider$5$1.hasNext(JGitFileSystemProvider.java:1200)
      	at org.guvnor.common.services.project.backend.server.ResourceResolver.getPackageNames(ResourceResolver.java:567)
      	at org.guvnor.common.services.project.backend.server.ResourceResolver.resolvePackages(ResourceResolver.java:276)
      	at org.kie.workbench.common.services.backend.project.KieModuleServiceImpl.resolvePackages(KieModuleServiceImpl.java:152)
      	at org.kie.workbench.common.services.backend.project.KieModuleServiceImpl$Proxy$_$$_WeldClientProxy.resolvePackages(Unknown Source)
      	at org.kie.workbench.common.screens.explorer.backend.server.ExplorerServiceHelper.getItems(ExplorerServiceHelper.java:285)
      	at org.kie.workbench.common.screens.explorer.backend.server.FolderListingResolver.getFolderListing(FolderListingResolver.java:75)
      	at org.kie.workbench.common.screens.explorer.backend.server.FolderListingResolver.resolve(FolderListingResolver.java:57)
      	at org.kie.workbench.common.screens.explorer.backend.server.ExplorerServiceHelper.getFolderListing(ExplorerServiceHelper.java:161)
      	at org.kie.workbench.common.screens.explorer.backend.server.ProjectExplorerContentResolver.setFolderListing(ProjectExplorerContentResolver.java:113)
      	at org.kie.workbench.common.screens.explorer.backend.server.ProjectExplorerContentResolver.moduleExplorerContentWithSelections(ProjectExplorerContentResolver.java:92)
      	at org.kie.workbench.common.screens.explorer.backend.server.ProjectExplorerContentResolver.resolve(ProjectExplorerContentResolver.java:84)
      	at org.kie.workbench.common.screens.explorer.backend.server.ExplorerServiceImpl.getContent(ExplorerServiceImpl.java:170)
      

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                ederign Eder Ignatowicz
                Reporter:
                mputz Martin Weiler
                Tester:
                Jan Stastny
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated: