Uploaded image for project: 'Tapestry'
  1. Tapestry
  2. TAPESTRY-2604

Synchronization Bottleneck in ComponentConstructorFactoryImpl

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 4.1.5
    • Fix Version/s: None
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      JDK 1.5.0_14 64 bit, Tomcat 5.5.26

      Description

      After fixing TAPESTRY-2530, it seems we got another performance bottleneck during page rendering: Under rather heavy load a lot of threads get stuck at ComponentConstructorFactoryImpl.getComponentConstructor. It seems the lock is held to long; a lot of threads gets queued and the application stops responding properly.

      I attached two threaddumps showing the problem. A possible solution could be to split the synchronization lock; guarding only the private field _cachedConstructors and not the construction of a new constructors, if this is necessary.

      Thanks for your help,

      Stefan

        Attachments

        1. ThreadDumps.zip
          178 kB
          Stefan Koelmann

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                skoelmann Stefan Koelmann
              • Votes:
                1 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated: