Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 338676

Summary: JPA2: Profile performance and GC characteristics of Metamodel API prior to JPA 2.1 enhancements
Product: z_Archived Reporter: Michael OBrien <michael.f.obrien>
Component: EclipselinkAssignee: Project Inbox <eclipselink.orm-inbox>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: eclipselink.orm-inbox, martin.grebac
Version: unspecifiedFlags: michael.f.obrien: documentation+
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on: 326552, 266912, 338140    
Bug Blocks: 338674    

Description Michael OBrien CLA 2011-03-02 09:36:23 EST
>before bug# 338674 - We need to find any performance or volumetrics issues before starting any JPA 2.1 implementation changes.
- specifically are we causing GC behavior changes by caching metadata or eclipselink objects or factories beyond their required scope
Comment 1 Michael OBrien CLA 2011-03-08 11:09:48 EST
We need to profile GC and performance stats to see if we should be using Weak or Soft references instead of Hard references to start.
Comment 2 Michael OBrien CLA 2011-03-08 11:22:53 EST
>See Metamodel.java - can we key on a String instead of an Identity Class or Metamodel Class
    /** The EclipseLink Session associated with this Metamodel implementation that contains all our descriptors with mappings **/
    private DatabaseSession session;

    /** The Map of entities in this metamodel keyed on Class **/
    private Map<Class, EntityTypeImpl<?>> entities;

    /** The Map of embeddables in this metamodel keyed on Class **/
    private Map<Class, EmbeddableTypeImpl<?>> embeddables;

    /** The Map of managed types (Entity, Embeddable and MappedSuperclass) in this metamodel keyed on Class **/
    private Map<Class, ManagedTypeImpl<?>> managedTypes;
    
    /** The Map of types (Entity, Embeddable, MappedSuperclass and Basic - essentially Basic + managedTypes) in this metamodel keyed on Class **/
    private Map<Class, TypeImpl<?>> types;

    /** The Set of MappedSuperclassTypes in this metamodel**/
    private Set<MappedSuperclassTypeImpl<?>> mappedSuperclasses;
Comment 3 Martin Grebac CLA 2014-12-10 11:44:04 EST
JPA 2.1 done, no measurements planned here.
Comment 4 Eclipse Webmaster CLA 2022-06-09 10:04:27 EDT
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink