Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-dev] [External] : Has EclipseLink 5.0.0-B06 passed the Standalone Persistence 3.2 TCK?

Hello Scott,

	thank You for the offer. Currently I'm working on another EclipseLink related task. I believe, that next week I'll start with this issue. In case of troubles I'll ping You.

Thank You
Radek

On 4/29/25 21:33, Scott Marlow wrote:
Hello Radek,

EclipseLink CI might start working again soon or maybe not depending on when Eclipse CI recovers.  Would it make sense to have a zoom call soon with my screen shared for a remote debug (of EclipseLink) session to step through the test failure together?

Thanks,
Scott

On Fri, Apr 25, 2025 at 3:22 PM Scott Marlow <smarlow@xxxxxxxxxx <mailto:smarlow@xxxxxxxxxx>> wrote:

    In case it helps I set a breakpoint in UnitOfWorkImpl which is reached at [1] and the call to performRemove(Object toBeDeleted = `B` class instance) that throws the exception is called from
    cascadePerformRemoveIfRequired(). The `B` class instances have already been removed by previous calls.  For reference, I'm debugging the EE TCK test with EclipseLink master branch sources.  So we must be trying to
    cascade the remove to all visitedobjects [2] which includes `A` and `B`.

    Hope this helps explain the problem we see with the described EE TCK test.

    Scott

    [1]
    performRemove:3729, UnitOfWorkImpl (org.eclipse.persistence.internal.sessions) [2]
    cascadePerformRemoveIfRequired:478, CollectionMapping (org.eclipse.persistence.mappings)
    cascadePerformRemove:2631, ObjectBuilder (org.eclipse.persistence.internal.descriptors)
    performRemove:3745, UnitOfWorkImpl (org.eclipse.persistence.internal.sessions) [1]
    remove:677, EntityManagerImpl (org.eclipse.persistence.internal.jpa)
    cascadeAllMXMTest4:310, Client (ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany)

    [2] visitedObjects = {java.util.IdentityHashMap@14148}  size = 2
      {ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany.B@14129}  -> {ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany.B@14129}
      {ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany.A@14147}  -> {ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany.A@14147}

    On Fri, Apr 25, 2025 at 10:42 AM Scott Marlow <smarlow@xxxxxxxxxx <mailto:smarlow@xxxxxxxxxx>> wrote:



        On Fri, Apr 25, 2025 at 5:44 AM Radek Felcman <radek.felcman@xxxxxxxxxx <mailto:radek.felcman@xxxxxxxxxx>> wrote:

            Hello Scott,

                     I'll re-verify it when our Jenkins instance https://ci.eclipse.org/eclipselink/ <https://urldefense.com/v3/__https://ci.eclipse.org/eclipselink/__;!!ACWV5N9M2RV99hQ!Pss8bcedRJCA8-
            odPPY_BMrkGpPNhFvxo1-QBQtIzVZmkocmw25xbjNdDFZ41MHgynEdJD0VxiV3tgDXpvw$> at Eclipse CI will be available (TCK job is there). It seems, that Eclipse CI https://ci.eclipse.org/ <https://urldefense.com/v3/
            __https://ci.eclipse.org/__;!!ACWV5N9M2RV99hQ!Pss8bcedRJCA8-odPPY_BMrkGpPNhFvxo1-QBQtIzVZmkocmw25xbjNdDFZ41MHgynEdJD0VxiV3XTkWpIY$> has some big outage.


        Thank you!  It may be a while before CI is back.

        If the TCK test does pass for you, could you please respond with why we hit https://github.com/eclipse-ee4j/eclipselink/blob/master/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/
        internal/sessions/UnitOfWorkImpl.java#L3729 <https://urldefense.com/v3/__https://github.com/eclipse-ee4j/eclipselink/blob/master/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/
        internal/sessions/UnitOfWorkImpl.java*L3729__;Iw!!ACWV5N9M2RV99hQ!Pss8bcedRJCA8-odPPY_BMrkGpPNhFvxo1-QBQtIzVZmkocmw25xbjNdDFZ41MHgynEdJD0VxiV3QFEOib0$> which I think means the "a1" entity was removed from the
        persistence context as part of the remove of related other entity classes (likely as part of the handling of CascadeType.ALL) but no exception should be thrown I believe but there must be more to it then just
        that when running the test as part of EE deployment.

        Thanks,
        Scott


            Thank You
            Radek

            On 4/24/25 15:49, Scott Marlow via eclipselink-dev wrote:
             > I am wondering if EclipseLink releases always pass the Persistence TCK before the release?  I assume yes but still wanted to know as we are seeing a GlassFish failure running a test that is also in the
            Standalone
             > Persistence TCK [1].
             >
             > The EE version of the test [2] fails on the call to "getEntityManager().remove(a1)" [3] with exception [4].  In the debugger I evaluated "getEntityManager().contains(a1)" just prior to the failure and see
            "true".  Are
             > there any later EclipseLink code changes made after the 5.0.0-B06 release that might help with this failure?
             >
             > Scott
             >
             > [1] https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-outside-container/spec-tests/src/main/java/ee/jakarta/tck/persistence/core/
            entitytest/ <https://urldefense.com/v3/__https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-outside-container/spec-tests/src/main/java/
            ee/jakarta/tck/persistence/core/entitytest/__;!!ACWV5N9M2RV99hQ!Pss8bcedRJCA8-odPPY_BMrkGpPNhFvxo1-QBQtIzVZmkocmw25xbjNdDFZ41MHgynEdJD0VxiV3HWmWwTU$>
             > cascadeall/manyXmany/Client.java#L283 <https://urldefense.com/v3/__https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-outside-
            container/spec-tests/ <https://urldefense.com/v3/__https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-outside-container/spec-tests/>
             > src/main/java/ee/jakarta/tck/persistence/core/entitytest/cascadeall/manyXmany/Client.java*L283__;Iw!!ACWV5N9M2RV99hQ!MQO-WF9LmxKIjXDBKiucXxT3SIKSEX-
            Eom3pBhkYFlpGQDOPCjbOTv0Nd-3diVxmE9eWNLlL78rpiTEjXyJ_gd04XTyYmV4$>
             >
             > [2] https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-inside-container/spec-tests/src/main/java/ee/jakarta/tck/persistence/core/
            entitytest/ <https://urldefense.com/v3/__https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-inside-container/spec-tests/src/main/java/ee/
            jakarta/tck/persistence/core/entitytest/__;!!ACWV5N9M2RV99hQ!Pss8bcedRJCA8-odPPY_BMrkGpPNhFvxo1-QBQtIzVZmkocmw25xbjNdDFZ41MHgynEdJD0VxiV36XVeJkM$>
             > cascadeall/manyXmany/Client.java#L310 <https://urldefense.com/v3/__https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-inside-
            container/spec-tests/ <https://urldefense.com/v3/__https://github.com/jakartaee/platform-tck/blob/3e642738584b2e4b9a6a9d80bb12fed6b53afb7e/tcks/apis/persistence/persistence-inside-container/spec-tests/>
             > src/main/java/ee/jakarta/tck/persistence/core/entitytest/cascadeall/manyXmany/Client.java*L310__;Iw!!ACWV5N9M2RV99hQ!MQO-WF9LmxKIjXDBKiucXxT3SIKSEX-
            Eom3pBhkYFlpGQDOPCjbOTv0Nd-3diVxmE9eWNLlL78rpiTEjXyJ_gd04SZtZTkw$>
             >
             > [3]
             >
             >      public void cascadeAllMXMTest4()throws Exception {
             >
             >      logTrace("Begin cascadeAllMXMTest4");
             >      boolean pass =false;
             >      A a1;
             >      Collection newCol;
             >      try {
             >         final B b1 =new B("1","b1",5);
             >         final B b2 =new B("2","b2",5);
             >         final B b3 =new B("3","b3",5);
             >         final B b4 =new B("4","b4",5);
             >         Vector v1 =new Vector();
             >         v1.add(b1);
             >         v1.add(b2);
             >         v1.add(b3);
             >         v1.add(b4);
             >
             >         getEntityTransaction().begin();
             >         logTrace("New A instance");
             >         a1 =new A("5","bean5",5,v1);
             >         getEntityManager().persist(a1);
             >
             >         newCol =a1.getBCol();
             >
             >         dumpCollectionDataB(newCol);
             >
             >         if (newCol.contains(b1) &&newCol.contains(b2) &&newCol.contains(b3) &&newCol.contains(b4)) {
             >            try {
             >               logTrace("Remove instances");
             >               getEntityManager().remove(findB("1"));
             >               getEntityManager().remove(findB("2"));
             >               getEntityManager().remove(findB("3"));
             >               getEntityManager().remove(findB("4"));
             >               getEntityManager().remove(a1);
             >               if ((!getEntityManager().contains(a1))) {
             >                  pass =true;
             >               }
             >
             >               getEntityTransaction().commit();
             >            }catch (Exception fe) {
             >               logErr("Unexpected exception caught trying to remove entity instance :",
             >                     fe);
             >            }
             >         }else {
             >            logErr("Test failed");
             >            pass =false;
             >         }
             >
             >      }catch (Exception e) {
             >         logErr("Unexpected exception occurred",e);
             >      }
             >
             >      if (!pass) {
             >         throw new Exception("cascadeAllMXMTest4 failed");
             >      }
             > }
             >
             > [4] java.lang.IllegalArgumentException: Entity must be managed to call remove: ee.jakarta.tck.persistence.core.entitytest.cascadeall.manyXmany.B@3e7a7f36, try merging the detached and try the remove again.
             >
             > _______________________________________________
             > eclipselink-dev mailing list
             > eclipselink-dev@xxxxxxxxxxx <mailto:eclipselink-dev@xxxxxxxxxxx>
             > To unsubscribe from this list, visit https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/eclipselink-dev__;!!ACWV5N9M2RV99hQ!MQO-WF9LmxKIjXDBKiucXxT3SIKSEX-
            Eom3pBhkYFlpGQDOPCjbOTv0Nd-3diVxmE9eWNLlL78rpiTEjXyJ_gd04GWUGdEY$ <https://urldefense.com/v3/__https://www.eclipse.org/mailman/listinfo/eclipselink-dev__;!!ACWV5N9M2RV99hQ!MQO-WF9LmxKIjXDBKiucXxT3SIKSEX-
            Eom3pBhkYFlpGQDOPCjbOTv0Nd-3diVxmE9eWNLlL78rpiTEjXyJ_gd04GWUGdEY$>




Back to the top