-
1. Re: Suggestion for a new compensations subsystem
marklittle Sep 21, 2016 10:24 AM (in response to gytis)Could you give more specific details?
-
2. Re: Suggestion for a new compensations subsystem
gytis Sep 21, 2016 11:30 AM (in response to marklittle)This is a compensations deployment processor currently living in the transactions subsystem: wildfly/CompensationsDependenciesDeploymentProcessor.java at master · wildfly/wildfly · GitHub. It doesn't do much, just scans for annotations and adds module dependency to the deployment.
For local compensations recovery I need to enable BACoordinatorRecoveryModule (narayana/BACoordinatorRecoveryModule.java at master · jbosstm/narayana · GitHub ) which currently is enabled by XTS subsystem.
In addition to BACoordinatorRecoveryModule I have implemented LocalParticipantRecoveryModule (narayana/LocalParticipantRecoveryModule.java at master-JBTM-1107-compensations-recovery · gytis/narayana · GitHub ) which also needs to be enabled. It is needed for a scenario when crash happens after participant is completed but before the coordinator was asked to complete the transaction.
All of the above are needed for local compensations. Therefore, they don't belong to XTS and would go to the transactions subsystem.
-
3. Re: Suggestion for a new compensations subsystem
marklittle Sep 21, 2016 11:58 AM (in response to gytis)So you're thinking of pulling them into ArjunaCore, or something else? That's the piece I'm missing.
-
4. Re: Suggestion for a new compensations subsystem
gytis Sep 21, 2016 12:00 PM (in response to marklittle)Ah I must have been clearer. By subsystem I mean WildFly subsystem.
-
5. Re: Suggestion for a new compensations subsystem
tomjenkinson Sep 22, 2016 5:07 AM (in response to gytis)I don't think we can make transactions WildFly subsytem depend on XTS WildFly subsystem as that would be cyclic: wildfly/pom.xml at master · wildfly/wildfly · GitHub
A compensations subsystem might be useful because the transactions WildFly subsystem has historically been to provide JTA/JTS capabilities to WildFly so if you now wanted to build a container on WildFly that just had compenstations, NoSQL etc (rather than JTA) it might be nice.
-
6. Re: Suggestion for a new compensations subsystem
gytis Sep 22, 2016 5:26 AM (in response to tomjenkinson)It wouldn't cause cyclic dependency because I'm adding a Maven dependency on XTS rather than a dependency on WildFly XTS subsystem. That's how I'm testing things now and it works. However, it makes transactions subsystem (which as you say is for JTA and JTS) more messy and complicated.
I agree on the benefits you've mentioned.
-
7. Re: Suggestion for a new compensations subsystem
tomjenkinson Sep 27, 2016 9:05 AM (in response to gytis)I think we should proceed with this then.