Uploaded image for project: 'AppFormer'
  1. AppFormer
  2. AF-2324

Performance issues when opening assets with open Project Explorer

XMLWordPrintable

    • 2019 Week 44-46 (from Okt 28)
    • 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
    • NEW
    • NEW

      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)
      

              gcaponet Guilherme Caponetto
              gcaponet Guilherme Caponetto
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: