BulkOpResponseFilter creates a blocking response filter for the responses related to bulk IO/backup/restore/import: Export, Import and AddSSTable. See discussion on RunJob for where this might be useful.
GetJobID gets a particular job's ID.
GetJobProgress loads the Progress message associated with the job.
GetLastJobID gets the most recent job's ID.
RunJob runs the provided job control statement, intializing, notifying and closing the chan at the passed pointer (see below for why) and returning the jobID and error result. PAUSE JOB and CANCEL JOB are racy in that it's hard to guarantee that the job is still running when executing a PAUSE or CANCEL--or that the job has even started running. To synchronize, we can install a store response filter which does a blocking receive for one of the responses used by our job (for example, Export for a BACKUP). Later, when we want to guarantee the job is in progress, we do exactly one blocking send. When this send completes, we know the job has started, as we've seen one expected response. We also know the job has not finished, because we're blocking all future responses until we close the channel, and our operation is large enough that it will generate more than one of the expected response.
VerifyRunningSystemJob checks that job records are created as expected and is marked as running.
VerifySystemJob checks that job records are created as expected.
WaitForJob waits for the specified job ID to terminate.