Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.3.26-incubating
    • Fix Version/s: None
    • Component/s: engine
    • Labels:
      None
    • Environment:
      Linux, Java 8

      Description

      Major performance bottleneck running on a 32-core system, limits effective number of threads to about 6: PropertyDescriptor.getReadMethod() is synchronized, and blocks other threads. Partial stack follows:

      java.beans.PropertyDescriptor.getReadMethod()
      BeanModel.invokeThroughDescriptor()
      BeanModel.get()
      Dot._eval()

      I suspect there's a workaround with using a method call directly in the FTL template, but I haven't figured it out yet. However, this is killing our performance. With Velocity, at the cost of a slower renderer, we can run all 32 cores, and get the job done faster.

      I'm not entirely sure how to figure out which piece of FTL is causing this stack.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              arren Shevek
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: