glassfish
  1. glassfish
  2. GLASSFISH-3455

Performance issues for ORB in GF 3.1: lock contention

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 9.1pe
    • Fix Version/s: 3.1_ms06
    • Component/s: orb
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

    • Issuezilla Id:
      3,455

      Description

      When an application looks up a remote bean that is co-located in the same JVM,
      the copying of that object reference (to preserve the pass-by-value semantics)
      can be slower in 9.0 than in 9.1. This will depend on the internal references
      held by the bean, and whether those references have classes that contain either
      native methods or finalizers. If that is the case, copying of the object happens
      over the slow ORBStreamObjectCopierImpl path.

      Replacing ORBStreamObjectCopierImpl with JavaStreamCopierImpl doesn't really
      help in our tests.

        Issue Links

          Activity

          Hide
          Ken Cavanaugh added a comment -

          I need to take another look at the reflective copier implementation and
          see if I can change it to be closer to Java serialization semantics.
          Will consider for GFv3.

          Show
          Ken Cavanaugh added a comment - I need to take another look at the reflective copier implementation and see if I can change it to be closer to Java serialization semantics. Will consider for GFv3.
          Hide
          Ken Cavanaugh added a comment -

          Changed target to V3.

          Show
          Ken Cavanaugh added a comment - Changed target to V3.
          Hide
          Ken Cavanaugh added a comment -

          Moved to V3.1.

          Show
          Ken Cavanaugh added a comment - Moved to V3.1.
          Hide
          Ken Cavanaugh added a comment -

          There are also a number of fixes from an Ericsson escalation against
          GF 2.1.1 that fix several lock contention problems in the ORB.

          Need to change the depth-first copy to a worklist based implementation
          that does not recurse over long linked lists. Note that the same problem
          exists with the serialization-based copiers, so fixing this in the
          reflective copier is the best solution.

          Show
          Ken Cavanaugh added a comment - There are also a number of fixes from an Ericsson escalation against GF 2.1.1 that fix several lock contention problems in the ORB. Need to change the depth-first copy to a worklist based implementation that does not recurse over long linked lists. Note that the same problem exists with the serialization-based copiers, so fixing this in the reflective copier is the best solution.
          Hide
          Ken Cavanaugh added a comment -
              • Issue 11312 has been marked as a duplicate of this issue. ***
          Show
          Ken Cavanaugh added a comment - Issue 11312 has been marked as a duplicate of this issue. ***
          Hide
          Ken Cavanaugh added a comment -

          This fix has been integrated into GF ORB 3.1.0-b009, which is in GFv3.1
          rev 41752 and later.

          Show
          Ken Cavanaugh added a comment - This fix has been integrated into GF ORB 3.1.0-b009, which is in GFv3.1 rev 41752 and later.
          Hide
          Ken Cavanaugh added a comment -

          Note: the copyobject part of this issue is NOT completely fixed in 3.1.
          I have modified issue 13996 to track future work on copyobject.

          Show
          Ken Cavanaugh added a comment - Note: the copyobject part of this issue is NOT completely fixed in 3.1. I have modified issue 13996 to track future work on copyobject.

            People

            • Assignee:
              Ken Cavanaugh
              Reporter:
              Scott Oaks
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: