See attached reproducer Post a message to url http://localhost:8080/camelbinding LogginServiceBean will throw an exception Run a query {"expression": "SELECT act FROM RPCActivityType act LEFT JOIN FETCH act.context LEFT JOIN FETCH act.properties" } on http://localhost:8080/overlord-rtgov/activity/query No activities are stored in the server so the problematic transaction is not recorded.
Created attachment 785686 [details] Reproducer
Sorry Jiri, going to push back on this one aswell. Reasons being: 1) Technical: If switchyard doesn't invoke the event listener when unwinding the stack, then there is no way to determine when the business transaction has completed - so if this functionality was required, then switchyard would need to be fixed to notify the event listener. 2) RTGov is primarily interested in successful transactions - not failed transactions that may be retried - hence for xa transactions, it uses commit notification to do the endScope. However I agree that non-transaction failed business transactions are a tricky issue, as they potentially have changed state, or triggered further activity, but would not be recorded. However not sure how we could tell if the business transaction would be retried after a fix.
I am afraid we cannot close the bug without further discussion - maybe on PM meeting. IF RTGov is not interested in failed transactions how administrator could be informed that something is wrong? I can envision to have an active collection that emits JMX notifications that are converted to SNMP traps that goes to a central monitoring console.
Have been thinking further about this, and agree it would be useful to know. The only situation where we wouldn't know is if xa transaction is used - and in that case I think it is valid for no activity to be reported, as it is as if the transaction had not occurred. Therefore the issue is how to capture a failed business transaction. I think the only way this can be achieved is if switchyard reports an ExchangeFailedEvent (or equivalent) event to indicate that the exchange terminated badly. Once this is done, RTGov switchyard integration can be enhanced to use this event to close off the correlation with the matching request. Can you create a bz for switchyard to create this event and make this issue dependent upon it?
Investigated further, and the exception is carried in the response exchange, but the problem is there is no 'replyTo' message information to correlate it back to the request.
Gary Brown <gary> updated the status of jira RTGOV-253 to Resolved
Verified in ER2
Gary Brown <gary> updated the status of jira RTGOV-253 to Closed