[MAGNOLIA-4593] simultaneous activation of 1st and 2nd level page might cause failure to activate due incorrect locking Created: 24/Oct/12 Updated: 15/May/13 Resolved: 27/Nov/12 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | activation |
| Affects Version/s: | 4.4.8, 4.5.6 |
| Fix Version/s: | 4.4.10, 4.5.7 |
| Type: | Bug | Priority: | Blocker |
| Reporter: | Jan Haderka | Assignee: | Ondrej Chytil |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Template: |
|
||||||||||||||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||||||||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||||||||||||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||||||||||||||||||
| Date of First Response: | |||||||||||||||||||||||||
| Description |
|
When activating 1st level pages (home page) the root of the repo can't be locked and no JCR lock is issued for activation. If 2nd level page that exists under same path is activated at the same time, it would issue lock on the parent (1st level page) and thus lock it during the activation causing first activation to fail. |
| Comments |
| Comment by Jan Haderka [ 27/Oct/12 ] |
|
Fixed on 4.4 branch. Needs to be ported to 4.5 and master |
| Comment by Ondrej Chytil [ 27/Nov/12 ] |
|
Bundle build is failing because of attempts of locking the root node. |
| Comment by Jan Haderka [ 27/Nov/12 ] |
+ Content node = null; + try{ + node = getHierarchyManager(request).getContentByUUID(getUUID(request)); + } catch (ItemNotFoundException e) { + // ignore node just ain't exist yet + } catch (RepositoryException e) { + log.warn("Exception caught", e); + } IMHO you need to rethrow RepoException at this place as ExchangeException and fail the activation. If node to be activated can't be retrieved now it won't be retrievable later either. |