Currently when a plugin errors, it gets autodisabled. This is however completely silent and easy to miss. The result can be degraded data quality or a hole in data in case of export plugins – something to be fixed ASAP.

A PagerDuty integration could come in useful here, allowing an alert to be sent in case of a plugin getting disabled. PagerDuty is tailored for this kind of thing, so this would potentially be better than e.g. an email – that could be easily missed in a sea of emails.

This problem was brought up by a current user of our Snowflake Export Plugin.
posthog/models/team/team.py
not requesting_parent_membership.organization.is_feature_available(
                AvailableFeature.PROJECT_BASED_PERMISSIONING
            )
            or not self.access_control
        ):
            return requesting_parent_membership.level
        from ee.models import ExplicitTeamMembership
        try:
            return (
                requesting_parent_membership.explicit_team_memberships.only("parent_membership", "level")
                .get(team=self)
                .effective_level
            )
        except ExplicitTeamMembership.DoesNotExist:
            
            if requesting_parent_membership.level < OrganizationMembership.Level.ADMIN:
                return None
            return requesting_parent_membership.level
    @property
    def actor_on_events_querying_enabled(self) -> bool:
        enabled_teams = get_list(get_instance_setting("ENABLE_ACTOR_ON_EVENTS_TEAMS"))
        return str(self.pk) in enabled_teams or "all" in enabled_teams
    def __str__(self):
        if self.name:
            return self.name
        if self.app_urls and self.app_urls[0]:
            return ", ".join(self.app_urls)
        return str(self.pk)
    __repr__ = sane_repr("uuid", "name", "api_token")