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-2110] IBM orb recovery #754

Closed
wants to merge 6 commits into from
Closed

Conversation

mmusgrov
Copy link
Contributor

@mmusgrov mmusgrov commented Oct 29, 2014

return; // nothing to add

try {
Any indicator = ri.get_slot(_rcDataSlot);
Copy link
Contributor

Choose a reason for hiding this comment

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

Hi Mike, this is the part that I wasn't sure about whether it would work for interop. Is this interceptor for the resource side or for the recovery manager?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is on the outgoing side, the client is issuing a CORBA invocation (replay_completion) on a remote object (which is our singleton recovery coordinator CORBA object - the resource specific info gets embedded in the object key or tagged profile depending upon which orb is in use).

The service context will only get added if the IOR represents a recovery coordinator that we (ie narayana code) created.

Note that my solution makes use of tagged profiles and portable interceptors which are both within the scope of the CORBA specification so I don't see any fundamental reason for portability issues. I say "fundamental reason" since we generally run in a homogeneous system with respect to ORBs and have never tested scenarios where the client uses one orb and the server is using a different one.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also notice that the interceptors are orb specific (we use different ones depending upon which ORB is being used). So, in the case of the IBM orb, the receiving side is expecting the extra data to be present in a profile whereas for JacORB and JDK orbs it will look in the object key. But I can easily change the interceptors to check both locations for the extra data if we do ever need to run in an inhomogeneous environment.

Copy link
Contributor

Choose a reason for hiding this comment

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

Imagine a resource that is not controlled by Narayana but is participating in a transaction under Narayanas control. It now wants to call replay_completion. Does it need to put something in a specific slot and if so isn't that contrary to the interop stuff. Of course it may all be encoded in the IOR in and the resource might not need to put anything in a slot by hand (i.e. the resource may not need to know any details related to slots) and in which case that is fine.

As I understand it a resource (with no access to Narayana libraries should be able to narrow the IOR returned from register_resource and just call replay_completion on it. Is that the case here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I see your point, you are correct and it would not work in that case but the primary consumer is wildfly/EAP so I think we can live with the restriction initially and implement it later on as a lower priority task.

Note that it ought work since the extra profile should be shipped across from the client to the server (but when I put it in the debugger the extra profile was not appearing on the other side which was the reason I used a service context to transport the extra data). But interestingly stringifying the reference (object_to_string) and then recreating the object (using string_to_object) does preserve the extra profile.

Copy link
Contributor

Choose a reason for hiding this comment

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

I hear what you are saying and having a workaround is fine for now but I don't think we can close off the issue until the interop problem is solved as it does somewhat detract from WF using JTS if it won't interop as they already have a JBoss Remoting transport for non-interop use cases.

@jbosstm-bot
Copy link

Started testing this pull request with QA_JTS_JACORB profile: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=QA_JTS_JACORB,jdk=jdk7.latest,label=linux/771/

@jbosstm-bot
Copy link

Started testing this pull request with BLACKTIE profile on Linux: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux64el6/771/

@jbosstm-bot
Copy link

Started testing this pull request with QA_JTA profile: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=QA_JTA,jdk=jdk7.latest,label=linux/771/

@jbosstm-bot
Copy link

Started testing this pull request with MAIN profile: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=MAIN,jdk=jdk7.latest,label=linux/771/

@jbosstm-bot
Copy link

Started testing this pull request with XTS profile: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=XTS,jdk=jdk7.latest,label=linux/771/

@jbosstm-bot
Copy link

Started testing this pull request with MAIN profile: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=MAIN,jdk=jdk7.latest,label=mac/771/

@jbosstm-bot
Copy link

MAIN profile tests failed (http://172.17.131.2/job/btny-pulls-narayana/PROFILE=MAIN,jdk=jdk7.latest,label=linux/771/): narayana build failed

@jbosstm-bot
Copy link

MAIN profile tests failed (http://172.17.131.2/job/btny-pulls-narayana/PROFILE=MAIN,jdk=jdk7.latest,label=mac/771/): narayana build failed

@jbosstm-bot
Copy link

Started testing this pull request with BLACKTIE profile on Linux: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux32el6/771/

@jbosstm-bot
Copy link

BLACKTIE profile tests passed on Linux - Job complete http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux64el6/771/

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

BLACKTIE profile tests passed on Linux - Job complete http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux32el6/771/

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

Started testing this pull request with BLACKTIE profile on Linux: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux64el5/771/

@jbosstm-bot
Copy link

Started testing this pull request with BLACKTIE profile on Linux: http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux32el5/771/

@jbosstm-bot
Copy link

BLACKTIE profile tests passed on Linux - Job complete http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux64el5/771/

@jbosstm-bot
Copy link

QA_JTS_JACORB profile tests passed - Job complete http://172.17.131.2/job/btny-pulls-narayana/PROFILE=QA_JTS_JACORB,jdk=jdk7.latest,label=linux/771/

@jbosstm-bot
Copy link

BLACKTIE profile tests passed on Linux - Job complete http://172.17.131.2/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk7.latest,label=linux32el5/771/

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

Started testing this pull request with QA_JTS_JACORB profile: http://albany.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTS_JACORB,jdk=jdk7.latest,label=linux/833/

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

@jbosstm-bot
Copy link

BLACKTIE profile tests failed on Linux (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

RTS profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=RTS,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

QA_JTS_JACORB profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTS_JACORB,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

postgres profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=postgres,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

mysql profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=mysql,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

AS_TESTS profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=AS_TESTS,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

db2 profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=db2,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

QA_JTA profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTA,jdk=jdk8.latest,label=linux/6/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

mysql profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=mysql,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

postgres profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=postgres,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

QA_JTS_JDKORB profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTS_JDKORB,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

RTS profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=RTS,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

QA_JTA profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTA,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

QA_JTS_JACORB profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTS_JACORB,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

MAIN profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=MAIN,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

db2 profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=db2,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

QA_JTS_OPENJDKORB profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=QA_JTS_OPENJDKORB,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

AS_TESTS profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=AS_TESTS,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

XTS profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=XTS,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

oracle profile tests failed (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=oracle,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

BLACKTIE profile tests failed on Linux (http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk8.latest,label=linux/1/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

Started testing this pull request on Windows: http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana-catelyn/1/

@jbosstm-bot
Copy link

Tests failed on Windows - Narayana Failed http://narayanaci1.eng.hst.ams2.redhat.com/job/btny-pulls-narayana-catelyn/1/

@jbosstm-bot
Copy link

PERF profile tests failed (http://172.17.130.4:8083/job/btny-pulls-narayana-perf/PROFILE=PERF,jdk=jdk8.latest,label=master/281/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

PERF profile tests failed (http://172.17.130.4:8083/job/btny-pulls-narayana-perf/PROFILE=PERF,jdk=jdk8.latest,label=master/543/): Narayana rebase on master failed. Please rebase it manually

@mmusgrov
Copy link
Contributor Author

mmusgrov commented Jul 3, 2018

Closing for now and will reopen if we make progress on the associated issue.

@mmusgrov mmusgrov closed this Jul 3, 2018
@jbosstm-bot
Copy link

BLACKTIE profile tests failed on Linux (https://ci-master-jenkins-csb-narayana.cloud.paas.psi.redhat.com/job/btny-pulls-narayana/PROFILE=BLACKTIE,jdk=jdk8.latest,label=swarm/280/): Narayana rebase on master failed. Please rebase it manually

@jbosstm-bot
Copy link

MAIN profile tests failed (https://ci-master-jenkins-csb-narayana.cloud.paas.psi.redhat.com/job/btny-pulls-narayana/PROFILE=MAIN,jdk=jdk8.latest,label=swarm/280/): Narayana rebase on master failed. Please rebase it manually

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants