# zfs.tier.rewrite_job_status

Subscribe to real-time status updates for a specific ZFS rewrite job, identified by its `dataset_name@job_uuid` tier job id. Polls every 2 seconds and emits a CHANGED event when status or statistics change.

This event is generated by a dynamic source. If you want to specify subscription params, subscribe to it using the name in the following format zfs.tier.rewrite_job_status:{“param”: “value”}

Type: object

##

#### ZfsTierRewriteJobStatusEventSourceArgs

Type: object
No Additional Properties

##

#### Tier Job Id

Type: string

Rewrite job to subscribe to, in `dataset_name@job_uuid` format. Receives updates whenever the job status or statistics change.

Must be at least `1` characters long

##

#### ZfsTierRewriteJobStatusEventSourceEvent

Type: object
No Additional Properties

##

#### ZfsTierRewriteJobStatusEventSourceEvent

Type: object
No Additional Properties

##

#### ZfsTierRewriteJobStatusEntry

Type: object

Current status and statistics for the requested rewrite job.

No Additional Properties

##

#### Tier Job Id

Type: string

Rewrite job identifier in `dataset_name@job_uuid` format.

Must be at least `1` characters long

##

#### Dataset Name

Type: string

ZFS dataset this job is operating on.

Must be at least `1` characters long

##

#### Job Uuid

Type: string

Unique identifier for this rewrite job.

Must be at least `1` characters long

##

#### Status

Type: enum (of string)

Current lifecycle state of the job.

- `COMPLETE` - All files in the dataset have been processed.
- `RUNNING` - Job is actively processing files.
- `QUEUED` - Job is waiting for a free execution slot (see `max_concurrent_jobs`).
- `CANCELLED` - Job was stopped via `zfs_tier_job.cancel`. Not resumable.
- `STOPPED` - Job was RUNNING but its process is no longer active (e.g. daemon restart). This state is computed on read and is never written to persistent storage.
- `ERROR` - Job halted due to an unrecoverable error. Use `zfs_tier_job.recover` to retry failed files.

##### Must be one of:

- "COMPLETE"
- "RUNNING"
- "QUEUED"
- "CANCELLED"
- "STOPPED"
- "ERROR"

##

Progress statistics, or `null` if no statistics have been recorded yet.

## Any of

#### ZfsTierRewriteJobStats

Type: object
No Additional Properties

##

#### Start Time

Type: integer

Unix timestamp (seconds) when the current run started. Reset each time the job is resumed or recovered.

##

#### Initial Time

Type: integer

Unix timestamp (seconds) when the job was first created. Preserved across resumes.

##

#### Update Time

Type: integer

Unix timestamp (seconds) of the most recent statistics update.

##

#### Count Items

Type: integer

Number of files processed in the current run. Reset to zero on each resume.

##

#### Count Bytes

Type: integer

Bytes processed in the current run. Reset to zero on each resume.

##

#### Total Items

Type: integer

Total number of files to process across the entire dataset.

##

#### Total Bytes

Type: integer

Total bytes to process across the entire dataset.

##

#### Failures

Type: integer

Cumulative count of files that failed rewriting across all runs of this job.

##

#### Success

Type: integer

Cumulative count of files successfully rewritten across all runs of this job.

##

#### Parent

Type: string

Directory path of the file currently being processed. Also used as the resume checkpoint if the job is interrupted.

##

#### Name

Type: string

Name of the file currently being processed.

Type: null

##

#### Error

Error message describing why the job entered `ERROR` state, otherwise `null`.

## Any of

Type: string
Type: null

Required roles: DATASET_READ