OpenJPA
  1. OpenJPA
  2. OPENJPA-536

getMetaData() causes OutOfMemoryError under some cases

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 1.0.2, 1.0.3
    • Fix Version/s: 0.9.7-r547073, 1.0.4, 1.1.0
    • Component/s: jpa
    • Labels:
      None
    • Environment:
      Sun JDK 5

      Description

      There are 3 classes: Item, Artist and Person. Artist extends Person.
      Invoking JPAFacadeHelper.getMetaData(emf, Item.class) will cause OutOfMemoryError thrown by org.apache.openjpa.meta.MetaDataRepository.processBuffer().

      1. OPENJPA-536-2.patch
        0.8 kB
        Amy Yang
      2. OPENJPA-536-1.0.x.patch
        17 kB
        Jody Grassel
      3. OPENJPA-536.patch
        1 kB
        Amy Yang
      4. OPENJPA-536.patch
        16 kB
        Amy Yang
      5. OPENJPA-536.patch
        13 kB
        Amy Yang
      6. OPENJPA-536.patch
        10 kB
        Amy Yang
      7. OPENJPA-536.patch
        11 kB
        Amy Yang
      8. OPENJPA-536.patch
        10 kB
        Amy Yang
      9. OPENJPA-536.patch
        7 kB
        Amy Yang
      10. OPENJPA-536.patch
        9 kB
        Amy Yang
      11. MetaDataRepository.diff
        2 kB
        Amy Yang
      12. meta_testcase.zip
        3 kB
        Amy Yang
      13. InheritanceComparator.diff
        0.5 kB
        Amy Yang
      14. 364202.patch
        151 kB
        Amy Yang

        Activity

        Michael Dick made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Michael Dick made changes -
        Fix Version/s 0.9.7-r547073 [ 12313627 ]
        Fix Version/s 1.0.4 [ 12313301 ]
        Jody Grassel made changes -
        Attachment OPENJPA-536-1.0.x.patch [ 12399021 ]
        Patrick Linskey made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Amy Yang made changes -
        Attachment OPENJPA-536-2.patch [ 12380739 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12380667 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12380658 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12380572 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12380460 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12380358 ]
        Amy Yang made changes -
        Status Resolved [ 5 ] Reopened [ 4 ]
        Resolution Fixed [ 1 ]
        Patrick Linskey made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Fix Version/s 1.1.0 [ 12312344 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12379202 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12379068 ]
        Albert Lee made changes -
        Attachment MetaDataRepository.java [ 12379000 ]
        Amy Yang made changes -
        Attachment OPENJPA-536.patch [ 12379001 ]
        Amy Yang made changes -
        Attachment MetaDataRepository.java [ 12379000 ]
        Amy Yang made changes -
        Attachment 364202.patch [ 12378914 ]
        Amy Yang made changes -
        Attachment MetaDataRepository.diff [ 12377876 ]
        Amy Yang made changes -
        Attachment InheritanceComparator.diff [ 12377752 ]
        Amy Yang made changes -
        Attachment meta_testcase.zip [ 12377751 ]
        Amy Yang made changes -
        Field Original Value New Value
        Summary InheritanceComparator does not work under some cases getMetaData() causes OutOfMemoryError under some cases
        Description Comparison of such classes will return a incorrect result: Item, Artist and Person. Artist extends Person. The comparator will report:
        Item < Person
        Person < Artist
        Artist < Item
        It will cause OutOfMemoryError thrown by org.apache.openjpa.meta.MetaDataRepository.processBuffer().
        There are 3 classes: Item, Artist and Person. Artist extends Person.
        Invoking JPAFacadeHelper.getMetaData(emf, Item.class) will cause OutOfMemoryError thrown by org.apache.openjpa.meta.MetaDataRepository.processBuffer().

        Amy Yang created issue -

          People

          • Assignee:
            Unassigned
            Reporter:
            Amy Yang
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development