GRAX Archive - Apex Delete Retirement

What is being done?

GRAX is ending support for apex deletes during archive jobs. Customers should reach out to GRAX and ensure they are upgraded to the newest version of GRAX archives, which leverages the Salesforce bulk API to conduct the delete operation for an archive.

Why is GRAX retiring support for this feature?

A GRAX archive process has 3 main stages, and each leverages different Salesforce operations to achieve its goal:

  1. First, GRAX leverages asynchronous apex jobs to query the selected hierarchy and find a list of all IDs across all objects in the chosen hierarchy. These IDs are then sent to the GRAX back-end application for backup.

  2. The GRAX back-end backup processing system then uses the REST API to back up all of these IDs

  3. Finally, once confirmed everything has backed up, GRAX will then delete all of the data hierarchically from the bottom up. This delete step was previously done by apex jobs. However, as data volumes grow, apex jobs are not the most efficient mechanism to delete data. Instead, GRAX now submits bulk API jobs and can dynamically alert the batch size and concurrency.

How does this impact me?

We encourage any customer using GRAX Archive to reach out to Support to ensure they are upgraded to this latest version. Leveraging the bulk API (instead of apex jobs) for deletes provides increased visibility and resiliency. GRAX will not support customers who are leveraging the apex jobs for deletes, as Salesforce makes it much harder to troubleshoot and address when issues come up versus the traditional APIs.

What is the recommended workaround?

As mentioned, simply reach out to us to confirm your environment is compatible. If not, we will ensure an upgrade.

🚧

Once you are switched to the latest archive, please create new GRAX archive jobs going forward.

Timing

GRAX will end support for this feature in the Winter of 2021. This may be accelerated if changes are needed to protect the integrity of the GRAX service, or if third parties retire a piece of their service which makes the feature unavailable. This will be communicated and the retirement timing will be updated in advance.

How do I get more information?

If you have questions or need more information, please open a support ticket.