Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-2359

Performance issues when opening assets with open Project Explorer

    Details

    • Target Release:
    • Fix Build:
      CR1
    • 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
    • Affects:
      Release Notes
    • Sprint:
      2019 Week 41-43 (from Okt 7), 2019 Week 44-46 (from Okt 28), 2019 Week 47-49 (from Nov 18)
    • QE Test Coverage:
      +

      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

          1. LoadingPE.gif
            LoadingPE.gif
            2.39 MB
          2. testproj1.zip
            437 kB

            Issue Links

              Activity

                People

                • Assignee:
                  gcaponet Guilherme Caponetto
                  Reporter:
                  mputz Martin Weiler
                  Tester:
                  Tomas David
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  10 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: