Expand my Community achievements bar.

Submissions are now open for the 2026 Adobe Experience Maker Awards.
SOLVED

RolloutManagerImpl giving expected log output but not expected action

Avatar

Level 2

Hi folks,

First time using the JAVA RolloutManagerImpl. I'm creating a script to import a bunch of vanity URLs which need to be rolled-out to all markets. My code looking something like:

RolloutParams rolloutParams = new RolloutParams();
 
// Setup internal-vanities market pages
for (int i = 0; i < countries.size(); i++) {
    rolloutPages[i] = INTERNAL_VANITY_MIGRATION_PATH.replace("master", countries.get(i));
}

rolloutParams.master = internalVanityMigrationPage;
rolloutParams.targets = rolloutPages;
rolloutParams.isDeep = true;
rolloutParams.trigger = RolloutManager.Trigger.ROLLOUT;
rolloutManager.rollout(rolloutParams);
 
Before running the page exists in master but not in the other markets. When running the log for RolloutManagerImpl gives me one entry which looks fine:

10.07.2025 16:12:47.230 *DEBUG* [[0:0:0:0:0:0:0:1] [1752160367222] POST /bin/vanityurlmigrator.html HTTP/1.1] com.day.cq.wcm.msm.impl.RolloutManagerImpl Executing page rollout, params=RolloutParams, Main path=/content/<REDACTED>/master/en/internal-vanities, Trigger=rollout, Targets=[/content/<REDACTED>/gb/en/internal-vanities, /content/<REDACTED>/us/en/internal-vanities, /content/<REDACTED>/fr/en/internal-vanities, /content/<REDACTED>/it/en/internal-vanities, /content/<REDACTED>/de/en/internal-vanities, /content/<REDACTED>/row/en/internal-vanities, /content/<REDACTED>/ag/en/internal-vanities, /content/<REDACTED>/au/en/internal-vanities, /content/<REDACTED>/at/en/internal-vanities, /content/<REDACTED>/bs/en/internal-vanities, /content/<REDACTED>/bh/en/internal-vanities, /content/<REDACTED>/bb/en/internal-vanities, /content/<REDACTED>/be/en/internal-vanities, /content/<REDACTED>/bm/en/internal-vanities, /content/<REDACTED>/br/en/internal-vanities, /content/<REDACTED>/bg/en/internal-vanities, /content/<REDACTED>/ca/en/internal-vanities, /content/<REDACTED>/ky/en/internal-vanities, /content/<REDACTED>/cl/en/internal-vanities, /content/<REDACTED>/cn/en/internal-vanities, /content/<REDACTED>/hr/en/internal-vanities, /content/<REDACTED>/cy/en/internal-vanities, /content/<REDACTED>/cz/en/internal-vanities, /content/<REDACTED>/dk/en/internal-vanities, /content/<REDACTED>/eg/en/internal-vanities, /content/<REDACTED>/fi/en/internal-vanities, /content/<REDACTED>/gh/en/internal-vanities, /content/<REDACTED>/gr/en/internal-vanities, /content/<REDACTED>/gd/en/internal-vanities, /content/<REDACTED>/hk/en/internal-vanities, /content/<REDACTED>/hu/en/internal-vanities, /content/<REDACTED>/in/en/internal-vanities, /content/<REDACTED>/ie/en/internal-vanities, /content/<REDACTED>/il/en/internal-vanities, /content/<REDACTED>/jm/en/internal-vanities, /content/<REDACTED>/jp/en/internal-vanities, /content/<REDACTED>/kw/en/internal-vanities, /content/<REDACTED>/mx/en/internal-vanities, /content/<REDACTED>/nl/en/internal-vanities, /content/<REDACTED>/nz/en/internal-vanities, /content/<REDACTED>/ng/en/internal-vanities, /content/<REDACTED>/no/en/internal-vanities, /content/<REDACTED>/pl/en/internal-vanities, /content/<REDACTED>/pt/en/internal-vanities, /content/<REDACTED>/qa/en/internal-vanities, /content/<REDACTED>/ro/en/internal-vanities, /content/<REDACTED>/sa/en/internal-vanities, /content/<REDACTED>/sg/en/internal-vanities, /content/<REDACTED>/kn/en/internal-vanities, /content/<REDACTED>/lc/en/internal-vanities, /content/<REDACTED>/se/en/internal-vanities, /content/<REDACTED>/ch/en/internal-vanities, /content/<REDACTED>/za/en/internal-vanities, /content/<REDACTED>/es/en/internal-vanities, /content/<REDACTED>/tt/en/internal-vanities, /content/<REDACTED>/tr/en/internal-vanities, /content/<REDACTED>/tc/en/internal-vanities, /content/<REDACTED>/ae/en/internal-vanities] isDeep
 
Am i missing something?

Regards,
Graham
Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @chebwin,

I think, the issue not with the rollout() call, but with MSM configuration or my assumptions about the structure.

The rollout() API does not create live copies - it only triggers a rollout on existing live copies of the master page. - If the target paths do not already have live copies mapped to your internal-vanities master, nothing will happen, even though the log shows it tried.

Can you check - if rollout config actually attached to the master node?:

  • Check /jcr:content/cq:rolloutConfigs under /content/master/en/internal-vanities and ensure it's correctly set.

  • Also verify the live copies have a cq:LiveSyncConfig.

Lastly, check Service User Permissions

  • Read access to the master

  • Modify access to the targets

  • Rights to execute rollout actions (wcm/msm/components/rollout paths)

 

 


Santosh Sai

AEM BlogsLinkedIn


View solution in original post

2 Replies

Avatar

Correct answer by
Community Advisor

Hi @chebwin,

I think, the issue not with the rollout() call, but with MSM configuration or my assumptions about the structure.

The rollout() API does not create live copies - it only triggers a rollout on existing live copies of the master page. - If the target paths do not already have live copies mapped to your internal-vanities master, nothing will happen, even though the log shows it tried.

Can you check - if rollout config actually attached to the master node?:

  • Check /jcr:content/cq:rolloutConfigs under /content/master/en/internal-vanities and ensure it's correctly set.

  • Also verify the live copies have a cq:LiveSyncConfig.

Lastly, check Service User Permissions

  • Read access to the master

  • Modify access to the targets

  • Rights to execute rollout actions (wcm/msm/components/rollout paths)

 

 


Santosh Sai

AEM BlogsLinkedIn


Avatar

Level 2

Thanks Santosh, this is it.

 

Makes sense and I'm able to work with these limitations, users can manually rollout the top level page with all subpages in MSM after running my script.