Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-1350

Race condition in the MetaDataRepository

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.0.3, 1.2.1, 2.0.0-M3
    • 1.2.3, 1.3.0, 2.0.0-beta
    • kernel
    • None

    Description

      There is a race condition in the MetaDataRepository where if multiple threads try to get MetaData for the same alias, one or more of the threads can get incorrect data. This can only occur on the first (few) thread(s). After init is complete, the problem does not occur.

      The error that is observed is the following:
      <openjpa-2.0.0-SNAPSHOT-r422266:824454M fatal user error> org.apache.openjpa.util.MetaDataException: Could not locate metadata for the class using alias "MdrTestEntity". Perhap
      s you meant MdrTestEntity, which is a close match. This could mean that you have mis-spelled the alias, or that OpenJPA failed to properly load the metadata for the type whose
      alias is "MdrTestEntity". Registered alias mappings: "

      {MdrTestEntity=[class org.apache.openjpa.persistence.meta.MdrTestEntity]}

      "

      Attachments

        1. OJ1350_1.0.x.patch
          14 kB
          Jody Grassel
        2. OPENJPA-1350-1.2.x.patch
          13 kB
          Jody Grassel
        3. OPENJPA-1350-1.2.x.patch
          11 kB
          Richard G. Curtis

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            curtisr7 Richard G. Curtis
            curtisr7 Richard G. Curtis
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment