I've been trying to run the LRA TCK against the Narayana implementation but running on Open Liberty, and I've had many failures in TckLRATypeTests.java. I've pinpointed the cause as a difference in behaviour between the RESTEasy and Apache CXF JAX-RS containers. After a bit of digging, it looks to me as though Narayana is relying on buggy behaviour of Resteasy, which is going to be fixed. When it does get fixed, I think Narayana LRA running on RESTEasy will fail in the same way as it currently does on CXF
The RESTEasy bug report is here:
https://issues.redhat.com/browse/RESTEASY-2391?_sscc=tThe issue is with resources that have no JAX-RS annotations on them, rather they have a superclass method which has the annotations. In this sitation, a call to ResourceInfo.getResourceMethod() will:
- With the current RESTEasy behaviour, return the super class method
- With CXF, and soon to be fixed RESTEasy behaviour, return the child method
I think the Naraya ServerLRAFilter is relying on getting the super class method. When RESTEasy is fixed, I think Narayana will fail the TCK