Grails 4.0.6 forward breaks transaction boundaries
- Dominant language
- Groovy
- Stars
- 2.9k
- Forks
- 975
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 92
Description
### Task List
- [x] Steps to reproduce provided
- [ ] Stacktrace (if present) provided
- [x] Example that reproduces the problem uploaded to Github
- [ ] Full description of the issue provided (see below)
### Steps to Reproduce
1. Create @Transactional controller and @Transactional service
2. Invoke service method from the controller
3. Save one Entity and update another Entity
4. Perform forward to other action from the controller
### Expected Behaviour
Both insert and update operations must be flushed and committed
### Actual Behaviour
Only insert operation is flushed and committed
### Environment Information
- **Operating System**: Fedora 33
- **Grails Version:** 4.0.6
- **JDK Version:** 1.8
- **Container Version (If Applicable):**
### Example Application
https://github.com/roman-marushin/Grails-bugs
Contributor guide
Research direction
Start with the linked Grails-bugs example application and reproduce the behavior using the described transactional controller and service flow. Trace the forward from the controller after saving one entity and updating another, then verify that both operations are flushed and committed rather than only the insert.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- groovy
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100