Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JBTM-3624 JBTM-3626 JacORB (and don't provide OpenJDK to JacORB compiler classpath JBTM-3590) #1993

Closed
wants to merge 3 commits into from

Conversation

tomjenkinson
Copy link
Contributor

@tomjenkinson tomjenkinson commented Jun 30, 2022

Consolidate the versions of JacORB: https://issues.redhat.com/browse/JBTM-3624

CORE !TOMCAT !AS_TESTS !RTS !JACOCO !XTS !QA_JTA
!QA_JTS_JACORB
!QA_JTS_JDKORB !QA_JTS_OPENJDKORB !PERF !LRA !DB_TESTS mysql db2 postgres oracle

Also includes a commit to deal with modular.jdk.args which should no longer be required since https://issues.redhat.com/browse/JBTM-3590 but the way I changed it also changes QA_JTS_JDKORB QA_JTS_OPENJDKORB. That change should be tested here and #1995

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

qa/run-tests.xml Outdated Show resolved Hide resolved
@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@tomjenkinson
Copy link
Contributor Author

I think the QA_JTS side could be OK, the CORE is hanging

@tomjenkinson
Copy link
Contributor Author

I think the CORE profile when supposed to be using openjdk-orb is maybe using JacORB somehow

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@tomjenkinson
Copy link
Contributor Author

tomjenkinson commented Jul 5, 2022

The QA_JTS_JACORB profile failed when using JacORB 3.7:

otsserver OTSServer_Test006 Fail (0m17.619s)
otsserver OTSServer_Test003 Fail (0m17.119s)
otsserver OTSServer_Test004 Fail (0m17.059s)
rawresources01_2 RawResources01_2_Test035 Fail (0m11.237s)

The results are for these cases that we are now receiving a org.omg.CORBA.COMM_FAILURE in various situations. Generally it seems for the otsserver ones it could be when trying to interact with the transaction once it has abnormally terminated (timed out) and for the rawresources01_2 failure it seems it got the same exception when it was expecting a org.omg.CORBA.OBJECT_NOT_EXIST. For this latter problem, given the resource voted to rollback it might be that a similar approach to https://github.com/jbosstm/narayana/blob/master/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ResourceRecord.java#L420-L421 could be used instead of https://github.com/jbosstm/narayana/blob/master/ArjunaJTS/jts/classes/com/arjuna/ats/internal/jts/resources/ResourceRecord.java#L428 but I don't know if that would be correct.

https://github.com/jbosstm/narayana/blob/master/qa/tests/src/org/jboss/jbossts/qa/OTSServerClients/Client03.java#L91

2022-07-04 13:34:02,339 err: Client03.main: org.omg.CORBA.COMM_FAILURE: Connection closed  vmcid: 0x0  minor code: 0  completed: No
2022-07-04 13:34:02,339 err: org.omg.CORBA.COMM_FAILURE: Connection closed  vmcid: 0x0  minor code: 0  completed: No
2022-07-04 13:34:02,339 err: 	at org.jacorb.orb.Delegate._invoke_internal(Delegate.java:1326)
2022-07-04 13:34:02,339 err: 	at org.jacorb.orb.Delegate.invoke_internal(Delegate.java:1209)
2022-07-04 13:34:02,339 err: 	at org.jacorb.orb.Delegate.invoke(Delegate.java:1197)
2022-07-04 13:34:02,339 err: 	at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:475)
2022-07-04 13:34:02,339 err: 	at org.omg.CosTransactions._ControlStub.get_coordinator(_ControlStub.java:138)
2022-07-04 13:34:02,339 err: 	at org.jboss.jbossts.qa.OTSServerClients.Client03.main(Client03.java:91)

https://github.com/jbosstm/narayana/blob/master/qa/tests/src/org/jboss/jbossts/qa/OTSServerClients/Client04.java#L122
2022-07-04 13:34:19,435 err: Client04.main: commit exception = org.omg.CORBA.COMM_FAILURE: Connection closed vmcid: 0x0 minor code: 0 completed: No

https://github.com/jbosstm/narayana/blob/master/qa/tests/src/org/jboss/jbossts/qa/OTSServerClients/Client05.java#L122
2022-07-04 13:33:06,570 err: Client05.main: commit exception = org.omg.CORBA.COMM_FAILURE: Connection closed vmcid: 0x0 minor code: 0 completed: No

https://github.com/jbosstm/narayana/blob/master/qa/tests/src/org/jboss/jbossts/qa/OTSServerClients/Client06.java#L122
2022-07-04 13:33:24,159 err: Client06.main: rollback exception = org.omg.CORBA.COMM_FAILURE: Connection closed vmcid: 0x0 minor code: 0 completed: No

https://github.com/jbosstm/narayana/blob/master/qa/tests/src/org/jboss/jbossts/qa/RawResources01Clients2/Client035.java#L107

2022-07-04 13:58:20,577 err: com.arjuna.ats.jts	[main]	ARJUNA022230: ResourceRecord.topLevelAbort caught exception
2022-07-04 13:58:20,577 err: org.omg.CORBA.COMM_FAILURE: Connection closed  vmcid: 0x0  minor code: 0  completed: No
2022-07-04 13:58:20,577 err: 	at org.jacorb.orb.Delegate._invoke_internal(Delegate.java:1326)
2022-07-04 13:58:20,577 err: 	at org.jacorb.orb.Delegate.invoke_internal(Delegate.java:1209)
2022-07-04 13:58:20,577 err: 	at org.jacorb.orb.Delegate.invoke(Delegate.java:1197)
2022-07-04 13:58:20,577 err: 	at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:475)
2022-07-04 13:58:20,577 err: 	at org.omg.CosTransactions._ResourceStub.rollback(_ResourceStub.java:35)
2022-07-04 13:58:20,577 err: 	at com.arjuna.ats.internal.jts.resources.ResourceRecord.topLevelAbort(ResourceRecord.java:391)
2022-07-04 13:58:20,577 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:3037)
2022-07-04 13:58:20,577 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:3016)
2022-07-04 13:58:20,577 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Abort(BasicAction.java:1986)
2022-07-04 13:58:20,577 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1524)
2022-07-04 13:58:20,578 err: 	at com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple.commit(ArjunaTransactionImple.java:375)
2022-07-04 13:58:20,578 err: 	at com.arjuna.ats.internal.jts.ControlWrapper.commit(ControlWrapper.java:244)
2022-07-04 13:58:20,578 err: 	at com.arjuna.ats.internal.jts.orbspecific.CurrentImple.commit(CurrentImple.java:247)
2022-07-04 13:58:20,578 err: 	at org.jboss.jbossts.qa.RawResources01Clients2.Client035.main(Client035.java:107)
2022-07-04 13:58:20,578 err: com.arjuna.ats.arjuna	[main]	ARJUNA012091: Top-level abort of action 0:ffffac110007:82ee:62c2f1fb:3 received TwoPhaseOutcome.FINISH_ERROR from com.arjuna.ats.internal.jts.resources.ResourceRecord
2022-07-04 13:58:20,580 err: com.arjuna.ats.jts	[main]	ARJUNA022230: ResourceRecord.forgetHeuristic caught exception
2022-07-04 13:58:20,580 err: org.omg.CORBA.COMM_FAILURE: Connection closed  vmcid: 0x0  minor code: 0  completed: No
2022-07-04 13:58:20,580 err: 	at org.jacorb.orb.Delegate._invoke_internal(Delegate.java:1326)
2022-07-04 13:58:20,580 err: 	at org.jacorb.orb.Delegate.invoke_internal(Delegate.java:1209)
2022-07-04 13:58:20,580 err: 	at org.jacorb.orb.Delegate.invoke(Delegate.java:1197)
2022-07-04 13:58:20,580 err: 	at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:475)
2022-07-04 13:58:20,580 err: 	at org.omg.CosTransactions._ResourceStub.forget(_ResourceStub.java:406)
2022-07-04 13:58:20,580 err: 	at com.arjuna.ats.internal.jts.resources.ResourceRecord.forgetHeuristic(ResourceRecord.java:569)
2022-07-04 13:58:20,580 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.doForget(BasicAction.java:3647)
2022-07-04 13:58:20,580 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.forgetHeuristics(BasicAction.java:1354)
2022-07-04 13:58:20,580 err: 	at com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple.forgetHeuristics(ArjunaTransactionImple.java:1371)
2022-07-04 13:58:20,581 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Abort(BasicAction.java:1998)
2022-07-04 13:58:20,581 err: 	at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1524)
2022-07-04 13:58:20,581 err: 	at com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple.commit(ArjunaTransactionImple.java:375)
2022-07-04 13:58:20,581 err: 	at com.arjuna.ats.internal.jts.ControlWrapper.commit(ControlWrapper.java:244)
2022-07-04 13:58:20,581 err: 	at com.arjuna.ats.internal.jts.orbspecific.CurrentImple.commit(CurrentImple.java:247)
2022-07-04 13:58:20,581 err: 	at org.jboss.jbossts.qa.RawResources01Clients2.Client035.main(Client035.java:107)
2022-07-04 13:58:20,726 err: Commit succeeded when it shouldn't
2022-07-04 13:58:20,726 err: service1.is_correct() or service2.is_correct() returned false
2022-07-04 13:58:20,729 out: Failed

@tomjenkinson
Copy link
Contributor Author

Perhaps the differences in behaviour in the QA tests could be attributed to not using the special patched version of JacORB, what do you think @mmusgrov?

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@tomjenkinson tomjenkinson changed the title JBTM-3624 Consolidate JacORB versions (and don't try to set modular args - JBTM-3590) JBTM-3624 JBTM-3626 JacORB (and don't try to set modular args - JBTM-3590) Jul 6, 2022
@tomjenkinson tomjenkinson changed the title JBTM-3624 JBTM-3626 JacORB (and don't try to set modular args - JBTM-3590) JBTM-3624 JBTM-3626 JacORB (and don't provide OpenJDK to JacORB compiler classpath JBTM-3590) Jul 6, 2022
@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

Copy link
Contributor

@mmusgrov mmusgrov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am provisionally approving this PR subject to the understanding that:

1 The four test failures are due to the change in jacorb semantics of the after synchroniztion and that this PR will be quickly followed up with a PR from @jmfinelli to remove JacORB completely;
2 The PR is re-tested on at least the CORE axis. I did run it successful on my laptop but it will do no harm retesting on the PR;
3 And an observation - the Requirements section in the top level README.md still says that to build narayana it's not sufficient to use a JRE because the build requires access to an IDL compiler so ensure that the JAVA_HOME environment variable is set correctly ...

[1] [main] INFO Transformer - Input does not exist [ /home/mmusgrov/src/forks/narayana/narayana/XTS/localjunit/unit/target/classes ] [ /home/mmusgrov/src/forks/narayana/narayana/XTS/localjunit/unit/target/classes ]

@jmfinelli
Copy link
Contributor

The four test failures are due to the change in jacorb semantics of the after synchroniztion and that this PR will be quickly followed up with a PR from @jmfinelli to remove JacORB completely;

I was holding the PR to remove JacORB as there were a couple of PRs interfering wth the modifications needed to remove JacORB. Those PRs got merged today so I can now rebase my branch on top of master and submit my PR.

@tomjenkinson
Copy link
Contributor Author

@jmfinelli I would suggest to ensure that you either rebase your branch on top of my more-JBTM-3590 branch so you know you can merge it after mine and that it should apply cleanly or you just take the commits from this PR into your own PR and we close this one. Or you leave your PR without any connection to this PR and then try your rebase. We could revert this PR then if there were some problem.

In terms of the README.md as it's not connected to JacORB I think we should have a separate PR for that.

In terms of running CORE again, I will trigger it for this PR

@tomjenkinson
Copy link
Contributor Author

PR for the README.md update: #2000

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@tomjenkinson
Copy link
Contributor Author

We should consider closing this PR and merging #2001 (assuming changes from this PR are in there) so that the removal can be merged in the same PR

@jmfinelli
Copy link
Contributor

We should consider closing this PR and merging #2001 (assuming changes from this PR are in there) so that the removal can be merged in the same PR

+1

@jmfinelli jmfinelli closed this Jul 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
4 participants