We recently installed the Atom Feed module into our environment, and upon testing we quickly found two areas where errors occurred:
- In our patient registration workflow, upon saving the patient, the operation failed.
- In our create user workflow, upon saving the user, the operation failed.
In both cases, new Person with PersonName(s) was being created, and the stack trace indicates that the culprit may be in how the Hibernate Interceptor is saving atom feeds while the NamePhoneticsModule's interceptor is also saving name phonetic codes, both in the beforeTransactionCompletion method of their respective interceptors.
Doing a little more investigation, I was reminded of ticket
ATF-24, where we modified the Atom Feed Interceptor to operate in the beforeTransactionCompletion method. In that ticket, wyclif made the following comment:
"The atomfeed module still needs to be refactored to not have to do that custom transaction management stuff when saving the feeds now that it's participating in the same transaction."
Our suspicion is that this might lead to a clue as to the cause of the issues, and that some aspect of transaction management with respect to the atom feed module needs to be addressed.
Stack Trace attached showing the error upon trying to save a new user.