RolloutManagerImpl giving expected log output but not expected action | Community
Skip to main content
Level 2
July 10, 2025
Solved

RolloutManagerImpl giving expected log output but not expected action

  • July 10, 2025
  • 1 reply
  • 393 views

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
Best answer by SantoshSai

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)

 

 

1 reply

SantoshSai
Community Advisor
SantoshSaiCommunity AdvisorAccepted solution
Community Advisor
July 10, 2025

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
chebwinAuthor
Level 2
July 11, 2025

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.