Example #1
0
def truncate_denormalizations(group):
    tagstore.delete_all_group_tag_keys(group.project_id, group.id)
    tagstore.delete_all_group_tag_values(group.project_id, group.id)

    GroupRelease.objects.filter(group_id=group.id).delete()

    # XXX: This can cause a race condition with the ``FirstSeenEventCondition``
    # where notifications can be erroneously sent if they occur in this group
    # before the reprocessing of the denormalizated data completes, since a new
    # ``GroupEnvironment`` will be created.
    for instance in GroupEnvironment.objects.filter(group_id=group.id):
        instance.delete()

    environment_ids = list(
        Environment.objects.filter(projects=group.project).values_list(
            "id", flat=True))

    tsdb.delete([tsdb.models.group], [group.id],
                environment_ids=environment_ids)

    tsdb.delete_distinct_counts([tsdb.models.users_affected_by_group],
                                [group.id],
                                environment_ids=environment_ids)

    tsdb.delete_frequencies(
        [
            tsdb.models.frequent_releases_by_group,
            tsdb.models.frequent_environments_by_group
        ],
        [group.id],
    )

    features.delete(group)
Example #2
0
def truncate_denormalizations(group):
    tagstore.delete_all_group_tag_keys(group.project_id, group.id)
    tagstore.delete_all_group_tag_values(group.project_id, group.id)

    GroupRelease.objects.filter(
        group_id=group.id,
    ).delete()

    environment_ids = list(
        Environment.objects.filter(
            projects=group.project
        ).values_list('id', flat=True)
    )

    tsdb.delete([
        tsdb.models.group,
    ], [group.id], environment_ids=environment_ids)

    tsdb.delete_distinct_counts([
        tsdb.models.users_affected_by_group,
    ], [group.id], environment_ids=environment_ids)

    tsdb.delete_frequencies(
        [
            tsdb.models.frequent_releases_by_group,
            tsdb.models.frequent_environments_by_group,
        ], [group.id]
    )

    features.delete(group)
Example #3
0
def truncate_denormalizations(group):
    GroupTagKey.objects.filter(
        group_id=group.id,
    ).delete()

    GroupTagValue.objects.filter(
        group_id=group.id,
    ).delete()

    GroupRelease.objects.filter(
        group_id=group.id,
    ).delete()

    tsdb.delete([
        tsdb.models.group,
    ], [group.id])

    tsdb.delete_distinct_counts([
        tsdb.models.users_affected_by_group,
    ], [group.id])

    tsdb.delete_frequencies(
        [
            tsdb.models.frequent_releases_by_group,
            tsdb.models.frequent_environments_by_group,
        ], [group.id]
    )

    features.delete(group)
Example #4
0
def truncate_denormalizations(group):
    tagstore.delete_all_group_tag_keys(group.project_id, group.id)
    tagstore.delete_all_group_tag_values(group.project_id, group.id)

    GroupRelease.objects.filter(
        group_id=group.id,
    ).delete()

    # XXX: This can cause a race condition with the ``FirstSeenEventCondition``
    # where notifications can be erroneously sent if they occur in this group
    # before the reprocessing of the denormalizated data completes, since a new
    # ``GroupEnvironment`` will be created.
    for instance in GroupEnvironment.objects.filter(group_id=group.id):
        instance.delete()

    environment_ids = list(
        Environment.objects.filter(
            projects=group.project
        ).values_list('id', flat=True)
    )

    tsdb.delete([
        tsdb.models.group,
    ], [group.id], environment_ids=environment_ids)

    tsdb.delete_distinct_counts([
        tsdb.models.users_affected_by_group,
    ], [group.id], environment_ids=environment_ids)

    tsdb.delete_frequencies(
        [
            tsdb.models.frequent_releases_by_group,
            tsdb.models.frequent_environments_by_group,
        ], [group.id]
    )

    features.delete(group)
Example #5
0
def truncate_denormalizations(group):
    tagstore.delete_all_group_tag_keys(group.id)
    tagstore.delete_all_group_tag_values(group.id)

    GroupRelease.objects.filter(
        group_id=group.id,
    ).delete()

    tsdb.delete([
        tsdb.models.group,
    ], [group.id])

    tsdb.delete_distinct_counts([
        tsdb.models.users_affected_by_group,
    ], [group.id])

    tsdb.delete_frequencies(
        [
            tsdb.models.frequent_releases_by_group,
            tsdb.models.frequent_environments_by_group,
        ], [group.id]
    )

    features.delete(group)