Janitor permissions and input rules
This page lists the permission each Janitor action needs and the rules Janitor checks when you save a value. Use it to look up an error message or to plan access for your team.
Permissions
Janitor uses two permissions. An administrator gives them through portal roles. See Portal roles and permissions.
| Action | maintenance:read | maintenance:manage |
|---|---|---|
| View jobs, runs, step details, and settings | Yes | Yes |
| Check a run with Dry run | Yes | Yes |
| Create a job, or bulk create jobs | — | Yes |
| Change the schedule or options of a job | — | Yes |
| Deactivate or reactivate a job, delete a job | — | Yes |
| Start a run with Run | — | Yes |
| Reset state | — | Yes |
| Stop run | — | Yes |
| Change the settings | — | Yes |
| Pause or resume all maintenance | — | Yes |
Dry run needs only maintenance:read, because it does not start a run or change anything.
ORPHAN CLEANUP has no extra approval. Anyone with maintenance:manage can turn it on.
Input rules
Janitor rejects a value outside these ranges. The same retention rules apply to the settings and to each job.
| Field | Where | Minimum | Maximum |
|---|---|---|---|
| Max concurrent runs | Settings → Concurrency | 1 | 100 |
| Max concurrent runs per catalog | Settings → Concurrency | 1 | Value of Max concurrent runs |
| Max manual runs | Settings → Concurrency | 1 | Value of Max concurrent runs |
| Max concurrents start | Settings → Concurrency | 1 | Value of Max concurrent runs |
| Schedule checker (s) | Settings → Schedule | 10 | 3600 |
| Query timeout (s) | Settings → Schedule | 30 | 3600 |
| Snapshot retention (days) | Settings and each job | 7 | 365 |
| Orphan retention (days) | Settings and each job | 7 | 365 |
For example, when Max concurrent runs is 5, the other three limits can be 1 to 5.
Other rules:
- When a maintenance window is set, the next run of a job schedule must fall inside it. A window can go past midnight, for example
22:00to06:00. - Exclude table patterns are regular expressions and ignore upper and lower case.
Default values
| Setting | Default |
|---|---|
| Max concurrent runs | 1 |
| Max concurrents start | 1 |
| OPTIMIZE | On |
| EXPIRE SNAPSHOTS | On, retention 7 days |
| ORPHAN CLEANUP | Off, retention 7 days |
Messages
Errors
Janitor does not save the change when you see one of these.
| Message | What to do |
|---|---|
max_concurrent_runs_per_catalog must not exceed max_concurrent_runs ({value}) | Lower Max concurrent runs per catalog, or raise Max concurrent runs. |
max_manual_runs must not exceed max_concurrent_runs ({value}) | Lower Max manual runs, or raise Max concurrent runs. |
max_jobs_started_per_tick must not exceed max_concurrent_runs ({value}) | Lower Max concurrents start, or raise Max concurrent runs. |
Snapshot retention must be at least 7 days. Setting a shorter period may cause maintenance operations to behave unexpectedly. | Pick 7 days or more. |
Orphan file retention must be at least 7 days. Setting a shorter period may cause maintenance operations to behave unexpectedly. | Pick 7 days or more. |
The scheduled time derived from the cron expression falls outside the configured maintenance window ({start} – {end}). Please adjust the cron or contact your Platform Admin. | Pick a time inside the window, or ask your administrator to change the window. |
Warning
Janitor saves the change but shows this warning.
| Message | What it means |
|---|---|
Orphan file retention is shorter than snapshot retention. Files referenced by unexpired snapshots may be incorrectly removed. | ORPHAN CLEANUP could remove files that a kept snapshot still uses. Set Orphan retention (days) to at least Snapshot retention (days). |
Run messages
| Message | What it means |
|---|---|
Maintenance is globally paused | All maintenance is paused. Run is rejected until someone resumes it. |
Run is not cancellable | The run already finished, so you cannot stop it. |
Cancelled by operator | Someone stopped the run, or an emergency pause stopped it. |
Cleared by operator | Someone used Reset state on the job. |