IMHO one should always be careful with transactions that involve multiple resources. They may not scale so well and lead to synchronization/blocking issues. If the scope grows too big, it's better to split it across small scopes and allow intermediate states in your application.
You are spot on here.
I have another post that’s in the pipeline that specifically talks about some of the issues, caveats, and just things anyone should be cognizant of before trying to handle these type of things (or if they should at all). Thanks again for bringing this up, it’s an important one.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.