Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-2538

Remove resourceVersion and libraryVersion from resource identifiers

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.0.0-beta
    • 2.0.0-beta-2
    • JSR-314
    • None

    Description

      Martin Koci From dev list:

      "...during profiling YourKitProfiler always marks
      org.apache.myfaces.resource.ClassLoaderResourceLoader.getLibraryVersion(String) as hotspot - that method always takes 30--50% CPU time per one request/response. Is it a known problem? I will provide more information later...."

      Answer from Leonardo:

      "....Yes, that one is a big problem. There is no way to "traverse" a jar file without iterating over all entries to get the library version and resource version. That means the current algorithm do that all times a resource is rendered. This is really bad.

      I remember someone commented that on jsr-314-open at jcp.org mailing list, and checking the latest ri code (2.0.2-b10), library and resource version feature was removed. It seems a decision was taken there.

      Checking more, the topic describing this is:

      [jsr-314-open] Need guidance: invalid assumptions in design of resource versioning feature

      We should change our algorithm too to prevent this performance problem....."

      This one is critical to be solved before release beta 2, because it cause a really seriour performance problem.

      Attachments

        Activity

          People

            lu4242 Leonardo Uribe
            lu4242 Leonardo Uribe
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: