Failure of a Fault-Tolerant Delivery
An export operation involves three main tasks: object collection, object export, and package metadata export. These tasks are executed in a sequence to zip the package. Each task contains subtasks; for example, object collection includes subtasks such as collecting members, collecting dependents, and filtering collected objects.
While each export operation task is designed to be fault tolerant, not all subtasks are fault tolerant. Some subtasks are designed to fail fast if an error is encountered. So, even if the Enable Fault Tolerance checkbox is selected when zipping the package, the export operation fails if the subtask fails to execute successfully. For example, while collecting dependents, there could be large number of primary objects of a type whose dependents cannot be identified. In such a case, the subtask fails, resulting into the failure of export operation. The subtasks that are designed to fail fast are as follows:
• Collect members
• Collect dependents
• Filter collected objects
• Write into .jar file