groups:
- name: schema-manager.rules
  rules:
    # - alert: SchemaManagerIsDown
    #   expr: |
    #     up{component="schema-manager"} == 0
    #   annotations:
    #     message: |
    #       {{ $labels.region }} Serverless schema-manager is down.
    #     summary: "Schema manager is down."
    #     region: '{{ $labels.region }}'
    #   for: 10m
    #   labels:
    #     tier: next-gen
    #     severity: critical
    #     component: tikv
    #     oncall_team: tikv_unified
    - alert: SchemaManagerFrequentlyRestart
      expr: |-
        sum by (tidb_cluster_id, instance, tenant, provider_type) (
            resets((-floor(process_start_time_seconds{component="schema-manager"}))[1h:15s])
          and
            max_over_time(process_start_time_seconds{component="schema-manager"}[30m] offset 1h) > 0
        ) >= 3
      for: 1m
      labels:
        tier: next-gen
        severity: critical
        response_class: page
        component: tikv
        oncall_team: tikv_unified
      annotations:
        description: 'cluster: {{ $labels.tidb_cluster_id }}, instance: {{ $labels.instance }}, values: {{ $value }}'
        value: '{{ $value }}'
        summary: "Schema manager is down for at least 3 times in an hour"
        message: |
          Schema manager {{ $labels.instance }} in cluster {{ $labels.tidb_cluster_id }} has restarted {{ $value }} times in the past hour. Frequent schema manager restarts can affect schema management and metadata operations. Please investigate the root cause and ensure schema manager stability.
    - alert: SchemaManagerSyncLoopStuck
      expr: |
        sum by (tidb_cluster_id, instance, tenant, provider_type) (
          increase(tikv_worker_schema_manager_sync_loop_count{component="schema-manager"}[20m])
        ) == 0
      labels:
        tier: next-gen
        severity: critical
        response_class: page
        component: tikv
        oncall_team: tikv_unified
      annotations:
        description: 'cluster: {{ $labels.tidb_cluster_id }}, instance: {{ $labels.instance }}, values: {{ $value }}'
        value: '{{ $value }}'
        summary: "Schema manager sync stuck for 20 minutes"
        message: |
          Schema manager {{ $labels.instance }} in cluster {{ $labels.tidb_cluster_id }} has made no sync loop progress for 20 minutes. Schema sync stuck can affect schema management and metadata consistency. Please investigate the schema manager sync loop status.
    - alert: SchemaManagerSyncLoopError
      expr: |
        sum by (tidb_cluster_id, instance, tenant, provider_type) (
          increase(tikv_worker_schema_manager_sync_loop_error_count{component="schema-manager"}[10m])
        ) >= 50
      for: 20m
      labels:
        tier: next-gen
        severity: warning
        component: tikv
        oncall_team: tikv_unified
      annotations:
        description: 'cluster: {{ $labels.tidb_cluster_id }}, instance: {{ $labels.instance }}, values: {{ $value }}'
        value: '{{ $value }}'
        summary: "Schema manager too many sync loop errors in 10 minutes"
        message: |
          Schema manager {{ $labels.instance }} in cluster {{ $labels.tidb_cluster_id }} reported {{ $value }} sync loop errors in 10 minutes. Frequent sync loop errors can affect schema management and metadata operations. Please investigate the root cause.
