Export failed

A failed export shows in the Exports tab with a red failed status and a brief reason. The credit is refunded automatically.

This page walks through how to read the failure and what to retry.

Step 1: Read the failure reason

The Exports row shows a brief reason. Common reasons:

ReasonMeaning
Data unavailableThe underlying search data was stale or partially deleted.
Internal errorThe worker encountered an unexpected error during generation.
Storage failureHilal’s storage backend was briefly unavailable.
Search not foundThe originating search was deleted before the export ran.
TimeoutThe export took longer than the worker’s max time.

Step 2: Confirm the credit refund

The credit refund is automatic. Check Settings → Subscriptions & add-ons → Credit ledger for a row with:

  • Action: refund
  • Reason: export_failed
  • Reference to the failed export’s UUID

If the refund is missing 5+ minutes after the failure, file a ticket — refunds should be near-instant.

Step 3: Decide on retry

For each reason, the right next step:

Data unavailable

The search data is stale or gone. Re-run the originating search (1 credit) to get a fresh snapshot, then export from the new search.

Internal error

Most internal errors are transient. Click Retry on the failed row. If it fails again, file a ticket.

Storage failure

Almost always transient. Retry; should succeed.

Search not found

The originating search has been deleted (by you or via cascade-delete). Can’t recover the export. Run a new search if you still need the data.

Timeout

Usually means the search had an unusually large result set or the worker was overloaded. Retry. If consistent on the same search, it may have unusual product data; file a ticket.

When to file a ticket

File a ticket if:

  • The failure recurs after 2–3 retries.
  • The failure reason is unusual (not in the list above).
  • The credit refund didn’t post within 5 minutes.
  • The export had a small / typical result set but timed out repeatedly.

Include in the ticket:

  • The failed export’s UUID (visible in the Exports row).
  • The originating search’s UUID.
  • Format (PDF or CSV).
  • Approximate timestamp.
  • Any error message you saw.

This is enough for support to trace the worker logs and identify the failure.

Edge cases worth knowing

Export still says “failed” but the file actually downloaded fine

Rare race condition where the worker generated and uploaded the file but failed to update the status. Treat the file as valid; mark the row as “delete failed” to clean up.

Export “completed” but file is empty

The worker thought it succeeded but didn’t. Retry — usually clears it. If persistent, file a ticket.

Export status is stuck on “generating” forever

The worker may have crashed mid-job. If a job has been generating for over 5 minutes, it’s likely stuck. The failure-detection sweep should mark it failed within 10 minutes; refresh and try again.

Related articles