Failed Apps and Their Implications

Apps don’t always install successfully. Sometimes there’s an issue with the app, or the processing of the underlying entities. For example, the provider timed out, the app installation timed out before the underlying entities were processed, or even due to invalid mapping.

What happens, if for example, the app installation timed out, but the data streams are still processing?

Tolerance determines how the system tolerates failed processes of underlying entities that require processing. Currently, this refers to data streams and insight bots.

There are three levels of tolerances:

  • None: Not a single processing failure is tolerated.
  • All: All processing failures are tolerated.
  • Any: At least one successful processing is tolerated.

The level of tolerance can be different per underlying entity. For example, in certain apps, data streams have a tolerance level set to None. If the data stream fails during installation, the app doesn’t install successfully. If insight bots have a tolerance level set to All and they fail during installation, the app installs successfully.

Each app has different tolerance levels for the same underlying entity type. For example, in the Lead Generation app, there are two data stream types, one for Leads and one for Opportunities. The Leads data stream type has a level of tolerance set to None. If the Leads data stream fails during installation the app doesn’t install successfully. The Opportunities data stream has a level of tolerance set to All. If the Opportunities data stream fails during installation, the app doesn't install successfully. To understand this better, if the Opportunities data stream type fails, as long as the Leads data stream type is successful, the Lead Generation app installs successfully.