[MAGNOLIA-2489] When two different editors try activate same piece of content at nearly same time, the latter attemp fails Created: 02/Dec/08 Updated: 23/Jan/13 Resolved: 05/Mar/09 |
|
| Status: | Closed |
| Project: | Magnolia |
| Component/s: | activation |
| Affects Version/s: | 3.6.3 |
| Fix Version/s: | 4.0, 3.6.4, 3.6.5 |
| Type: | Improvement | Priority: | Blocker |
| Reporter: | Jan Haderka | Assignee: | Jan Haderka |
| Resolution: | Fixed | Votes: | 1 |
| 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)
|
||||
| Date of First Response: | |||||
| Description |
|
The activation of single piece of content takes about 2sec. If the another activation for same piece of content comes in that time interval, it will fail with Operation not permitted, /path/to/node is locked perhaps in this case ReceiveFilter should attempt to wait for few secs and attempt to activate incoming content again before returning failure back to Syndicator. |
| Comments |
| Comment by Magnolia International [ 26/Feb/09 ] |
|
Since the lock check is done on the parent, this can also happen if you have one long-running activation, and a simultaneous activation of a subnode of the node being activated by the long-running activation; the latter will fail. |
| Comment by Jan Haderka [ 04/Mar/09 ] |
|
synchronization on locking is not an option. First because it would lock any other activation, not only on affected subpath, and second because process of locking and unlocking are in separated methods so we would need a global semaphores to deal with that. |
| Comment by Philipp Bracher [ 04/Mar/09 ] |
|
Most of the time consuming methods in the ReceiveFilter are synchronized. Perhaps they shouldn't be. |
| Comment by Jan Haderka [ 04/Mar/09 ] |
|
Yes, perhaps they should not be, but timeframe is too short to revamp this completely, so we should deal with such refactoring in separate issue later. The reason why we see this more often now is that publishing part is not synchronized anymore and allows multiple editors to activate content at a same time. In the past (before 3.6.2) publishing part of the activation would be blocking and allowing only one request to be published at a time, thus hiding this issue. Changed priority to blocker and set fix versions. |
| Comment by Jan Haderka [ 05/Mar/09 ] |
|
Done as of r23130 on trunk and r23131 on 3.6 branch. |