[MGNLXAA-38] CLONE -Inadvert deactivation of the content during multiple concurrent activations Created: 11/May/12  Updated: 19/Nov/13  Resolved: 18/May/12

Status: Closed
Project: Transactional Activation
Component/s: None
Affects Version/s: 1.2.2
Fix Version/s: 1.2.3, 1.3.2

Type: Bug Priority: Blocker
Reporter: Jan Haderka Assignee: Jan Haderka
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File mgnlxaa-38.patch    
Issue Links:
Cloners
clones MAGNOLIA-4408 Inadvert deactivation of the content ... Closed
causality
is causing MGNLXAA-45 Activation of node marked for deletio... Closed
relation
is related to MGNLXAA-41 Add missing tests Closed
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 two or more activation requests for same content are delivered to public instance in very short time window, and one of the requests fails due to collision (attempt to modify same content), Magnolia might treat such request as deactivation and remove content from public instance.



 Comments   
Comment by Jan Haderka [ 11/May/12 ]

Until git repo is ready, here's at least patch of the code for 1.2 branch.

Until Hudson is building code changes again, snapshot with the fix is also available on nexus http://nexus.magnolia-cms.com/content/repositories/magnolia.enterprise.snapshots/info/magnolia/magnolia-module-exchange-transactional/1.2.3-SNAPSHOT/magnolia-module-exchange-transactional-1.2.3-20120511.164757-1.jar

Comment by Jan Haderka [ 15/May/12 ]

https://git.magnolia-cms.com/gitweb/?p=enterprise/exchange-transactional.git;a=commit;h=bd13c0ed3a28c39219e888ce771b5ac3a954b867

Comment by Milan Divilek [ 15/May/12 ]

port to trunk on git: https://git.magnolia-cms.com/gitweb/?p=enterprise/exchange-transactional.git;a=commit;h=360cafd032943e4e80ba1cea0e10102e0c26d678

Comment by Jan Haderka [ 17/May/12 ]

while fixing the test you broke another.
Fair enough, there should have been assert to show that:

diff --git a/src/test/java/info/magnolia/module/exchangetransactional/CopyUtilTest.java b/src/test/java/info/magnolia/module/exchangetransactional/CopyUtilTest.java
index 836a4fe..5d82bb0 100644
--- a/src/test/java/info/magnolia/module/exchangetransactional/CopyUtilTest.java
+++ b/src/test/java/info/magnolia/module/exchangetransactional/CopyUtilTest.java
@@ -312,6 +312,7 @@
         request.setHeader(BaseSyndicatorImpl.ACTION, BaseSyndicatorImpl.ROLLBACK);
         receiveFilter.doFilter(request, response, null);
         assertNotNull(mainContentWebHM.getContentByUUID(uuid).getContent("subnode"));
+        assertEquals(BaseSyndicatorImpl.ACTIVATION_SUCCESSFUL, response.getHeader(BaseSyndicatorImpl.ACTIVATION_ATTRIBUTE_STATUS));
 
         // after failing rollback content is still unlocked
         assertFalse(mainContentWebHM.getContentByUUID(uuid).isLocked());

When you restore module class in tests, it should work again.

Comment by Jan Haderka [ 17/May/12 ]

Looks good on the branch. we still need to get those last 3 commits from May 17th also in trunk.

Generated at Mon Feb 12 11:06:28 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.