Table of Contents


Recycle Bin Troubleshooting

Symptom-by-symptom resolutions for the most common Recycle Bin issues. If your symptom isn't listed, check the system event log first — the Recycle Bin actions log per-item exceptions there with the underlying error message.


A Specific Record Won't Restore

Symptom: Clicking Restore on a row appears to do nothing, or the record doesn't reappear in the source entity.

Causes and resolutions:

  1. The entity doesn't support soft-delete. The platform restores by clearing the IsDeleted flag on the record. Entities without an IsDeleted field cannot be restored; the system event log records an entity-cannot-be-restored message identifying the entity. For these, the deletion was permanent at the time it happened, regardless of what the bin shows.
  2. The restore failed silently to the user. The platform catches restore exceptions and writes them to the event log without re-throwing. Open the event log and look for an entry tied to the record ID; the underlying error names the cause.
  3. A required reference is missing. If the record depends on a parent that no longer exists, restore may fail. Restore the parent first, then retry the child.

Restore All Stops Without Finishing

Symptom: After clicking Restore All, some items remain in the bin even though the operation completed.

Cause: Restore All restores items in dependency order across multiple passes. The first pass restores top-level items (those with no parent reference). Each subsequent pass restores items whose parent has already been restored by an earlier pass, so a child is never restored before its parent.

The loop ends when a full pass restores nothing new. Any item whose parent was permanently deleted — rather than just soft-deleted and sitting in the bin — has no parent left to restore, so it cannot be restored automatically and remains.

Resolution:

  1. For each remaining item, identify the missing parent (Entity column tells you the type; the underlying parent reference is in the record metadata).
  2. If the parent can be re-created, do so first, then click Restore on the child row.
  3. If the parent is permanently lost, the child cannot be restored. Use Del to permanently remove the orphan from the bin.

Empty Operation Seems to Hang

Symptom: You clicked Empty and the page shows the in-progress message, but the bin still has items after some time.

Causes and resolutions:

  1. The background empty is still running. Empty runs in a background thread that makes up to three passes. Large bins take longer. Refresh the page after a few minutes; while the operation continues, the page displays an in-progress message.
  2. Specific items are blocked by database constraints. Per-item delete exceptions are logged but do not stop the run. After Empty finishes its passes, items that failed permanent deletion remain in the bin. Check the system event log for the specific constraint — foreign-key violations are the most common cause — and address the blocker (for example, manually clean up the dependent records).
  3. You restarted Empty while it was already running. The platform does not start a second concurrent empty operation; clicking Empty while one is running just re-displays the in-progress message.

A Foreign-Key Constraint Blocks Permanent Deletion

Symptom: The system event log shows a foreign-key constraint error when emptying or per-row deleting a specific Recycle Bin item, and the item remains in the bin.

Cause: Although the per-row Del and Empty operations bypass standard validation, database-level foreign-key constraints can still block a permanent delete if other records depend on the row.

Resolution:

  1. Identify the dependent records from the constraint name in the event log.
  2. Either delete or update the dependent records to remove the dependency.
  3. Retry Del on the row.

A New Record Won't Save Because the Name Is in Use

Symptom: Creating a new record fails with a unique-name conflict, even though no active record on the entity uses that name. The Dashboard may also show a notification referencing the Recycle Bin.

Cause: A previously-deleted record with the same unique name is still in the Recycle Bin and still holds the name.

Resolution:

  1. Open Setup > Manage > Recycle Bin and find the deleted record.
  2. Decide whether to recover it or release the name:
    • To recover: click Restore, then rename the existing record so the new one can use the name.
    • To release: click Del to permanently remove the bin entry. The name is then free.
  3. Retry the new record creation.

A Record I Deleted Doesn't Appear in the Recycle Bin

Symptom: A record was deleted but it's not in the bin.

Causes and resolutions:

  1. The record's entity does not support soft-delete. Records on such entities are removed permanently at delete time and never enter the Recycle Bin.
  2. The record was permanently deleted, not soft-deleted. Programmatic deletes that pass PermanentDelete = true (and the per-row Del or Empty actions on existing bin entries) bypass soft-delete entirely. Those records do not enter the bin.
  3. The record was deleted more than 30 days ago. The platform's scheduled cleanup permanently removes Recycle Bin items older than 30 days.

Restore Creates a Record That Conflicts With an Active One

Symptom: Restoring a record produces a unique-name conflict because another active record was created with the same name while the original was in the bin.

Cause: If a new record was created with the same name before the bin entry could be cleared (for instance, the original was deleted but the unique-name conflict notification was overlooked, and a clean-up Del freed the name only briefly), the restore would now collide with the newer record.

Resolution:

  1. Rename either the existing active record or the record you're restoring before completing the restore.
  2. Confirm the source entity's name field is the only conflict; other unique fields may also need attention.

The Bin Has Old Items That Should Have Been Cleaned Up

Symptom: Items older than 30 days still appear in the Recycle Bin.

Causes and resolutions:

  1. The scheduled cleanup hit its time cap. The platform caps the cleanup run at approximately 2 minutes per scheduled execution and defers the remainder. The event log records when this happens. Subsequent runs continue working through the backlog.
  2. Specific items fail to delete each run. If a foreign-key constraint or other database-level issue blocks an item, the scheduled cleanup logs the failure and moves on. Inspect the event log to identify and resolve those items, then run Empty manually to clear them.

<< Restoring and Emptying Records

Last updated on 6/30/2026

Attachments