Expand my Community achievements bar.

SOLVED

AEM 6.3 - Set "Weekly Maintenance" to daily recurrence not possible

Avatar

Level 2

We'd like to run the data store garbage collection on a daily basis.

For this we tried to configure the "Weekly Maintenance Window" [1] and simply switch from weekly to daily recurrence. But after submitting the next execution date does not change to the next day. Also after this execution date has passed the schedule does not change to a daily recurrence.

Is this an error or how to properly change the weekly maintenance configuration to a daily basis?

Also deploying a configuration within /conf/global/settings/granite/operations/maintenance/granite_weekly does not help.

You can reproduce this behavior in a plain AEM 6.3 instance.

Of course we could create an external curl as written here [2], but maybe there is a way to configure within AEM successfully?

[1] http://localhost:4502/libs/granite/operations/content/maintenance.html

[2] Data Store Garbage Collection

1 Accepted Solution

Avatar

Correct answer by
Level 2

We asked this question via Daycare. The answer was:

Go to operations > maintenance > weekly

select Data store Garbage Collection and delete (from weekly)

now go to operations > maintenance > daily

and on add you should be able to add the Data store Garbage Collection on a daily basis.

View solution in original post

8 Replies

Avatar

Community Advisor

Dear Timo,

Suggest you put it to some soon starting time.

Put com.adobe.granite.maintenance in DEBUG log level.

Verify the slingscheduler has correct date, then once the date/time is reached.

To verify timings open http://localhost:4502/system/console/status-slingscheduler and find your job:

DEFAULT.com.adobe.granite.maintenance.impl.MaintenanceWindowImpl/granite_weekly/start or DEFAULT.com.adobe.granite.maintenance.impl.MaintenanceWindowImpl/granite_daily/start and see when the next run would be.

Then once the time has ticked, open logs and see what's breaking and make necessary fixes to make it work.

Hope it helps.

Regards,

Peter

Avatar

Level 2

Thanks for the hint how to debug.

After saving the configuration I see following Debug Logs:

24.07.2018 14:34:45.046 *DEBUG* [Adobe Granite Maintenance Scheduler Update Task] com.adobe.granite.maintenance.impl.TaskScheduler Starting maintenance window granite_daily from 0 0 2 * * ? to 0 0 5 * * ?

24.07.2018 14:34:45.047 *DEBUG* [Adobe Granite Maintenance Scheduler Update Task] com.adobe.granite.maintenance.impl.TaskScheduler Starting maintenance window granite_weekly from 0 0 1 ? * 6 to 0 0 2 ? * 6

This already is not correct for the granite_weekly. The day is set to '6' which is Friday, instead of '?' as seen for granite_daily. This seems to be not correct in AEM code?!

CRX Properties of /conf/global/settings/granite/operations/maintenance/granite_weekly seem to be set correct:
1534577_pastedImage_0.png

Avatar

Community Advisor

Dear Timo,

Did you checked /status-slingscheduler as I have suggested, have you noted values you seen there?

Have you tried installing SP2 to test whether this issue get's resolved in 6.3.2?

Regards,

Peter

Avatar

Level 2

Hello Peter,

I now installed also SP2, but same problem occurs.

In status-slingscheduler are the entries displayed, but with the wrong date for next Friday, instead of tomorrow. So it fits to the DEBUG message, which says: granite_weekly from 0 0 1 ? * 6 to 0 0 2 ? * 6

Job : com.adobe.granite.maintenance.impl.MaintenanceWindowImpl/granite_weekly/start, class: com.adobe.granite.maintenance.impl.TaskScheduler, concurrent: false, runOn: [LEADER], bundleId: 217

Trigger : Trigger 'DEFAULT.com.adobe.granite.maintenance.impl.MaintenanceWindowImpl/granite_weekly/start':  triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri Jul 27 01:00:00 CEST 2018

Job : com.adobe.granite.maintenance.impl.MaintenanceWindowImpl/granite_weekly/end, class: com.adobe.granite.maintenance.impl.TaskScheduler, concurrent: false, runOn: [LEADER], bundleId: 217

Trigger : Trigger 'DEFAULT.com.adobe.granite.maintenance.impl.MaintenanceWindowImpl/granite_weekly/end':  triggerClass: 'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null' misfireInstruction: 0 nextFireTime: Fri Jul 27 02:00:00 CEST 2018

I guess the properties from CRX are interpreted to a wrong Scheduler configuration "0 0 1 ? * 6" or "0 0 2 ? * 6".

Avatar

Community Advisor

Hi Timo,

Then you may want to change the cron to: 0 0 1 * * ? to 0 0 2 * * ?

Regards,

Peter

Avatar

Community Advisor

Hi Timo,

Or even simpler 0 1 * * * to 0 2 * * *

You can further debug this by making a newCronTrigger in unit test and verifying the outcome.

Regards,

Peter

Avatar

Level 2

How would you set this? As far as I see, I can not set the scheduler expression directly by my own.

Avatar

Correct answer by
Level 2

We asked this question via Daycare. The answer was:

Go to operations > maintenance > weekly

select Data store Garbage Collection and delete (from weekly)

now go to operations > maintenance > daily

and on add you should be able to add the Data store Garbage Collection on a daily basis.