apiVersion: api/v1
kind: Plan
name: utf-go-lock-view
tags: ['team:transaction', 'owner:zyguan', 'branch:master']
schedule: '@daily'
testbed:
  generateName: utf-go-
  resourcePool: test-store
  items:
  - name: tidb-default
    type: TIDB_CLUSTER
    spec:
      version: '{{meta.parameters.base_image_version}}-failpoint'
      pd:
        replicas: 1
        baseImage: '{{meta.parameters.pd_base_image}}'
        env:
        - name: GO_FAILPOINTS
          value: "github.com/tikv/pd/server/api/enableFailpointAPI=return"
      tikv:
        replicas: 1
        baseImage: '{{meta.parameters.tikv_base_image}}'
        config: |
          [storage]
          reserve-space = 0
          enable-async-apply-prewrite = true
          [pessimistic-txn]
          pipelined = true
          in-memory = true
      tidb:
        replicas: 2
        baseImage: '{{meta.parameters.tidb_base_image}}'
        env:
        - name: GO_FAILPOINTS
          value: "github.com/pingcap/tidb/server/enableTestAPI=return"
        config: |
          new_collations_enabled_on_first_bootstrap = true
          [experimental]
          allow-expression-index = true
pipeline:
- name: DATA-LOCK-WAIT-COMMON
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: DATA_LOCK_WAIT_COMMON}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: []
- name: DATA-LOCK-WAIT-CLUSTERED
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: DATA_LOCK_WAIT_CLUSTERED}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [DATA-LOCK-WAIT-COMMON.Succeeded || DATA-LOCK-WAIT-COMMON.Failed]
- name: DATA-LOCK-WAIT-INDEX
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: DATA_LOCK_WAIT_INDEX}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [DATA-LOCK-WAIT-CLUSTERED.Succeeded || DATA-LOCK-WAIT-CLUSTERED.Failed]
- name: DATA-LOCK-WAIT-PARTITION-COMMON
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: DATA_LOCK_WAIT_PARTITION_COMMON}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [DATA-LOCK-WAIT-INDEX.Succeeded || DATA-LOCK-WAIT-INDEX.Failed]
- name: DATA-LOCK-WAIT-PARTITION-CLUSTERED
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: DATA_LOCK_WAIT_PARTITION_CLUSTERED}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [DATA-LOCK-WAIT-PARTITION-COMMON.Succeeded || DATA-LOCK-WAIT-PARTITION-COMMON.Failed]
- name: TIDB-DEADLOCKS-COMMON
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_DEADLOCKS_COMMON}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [DATA-LOCK-WAIT-PARTITION-CLUSTERED.Succeeded || DATA-LOCK-WAIT-PARTITION-CLUSTERED.Failed]
- name: TIDB-DEADLOCKS-CLUSTERED
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_DEADLOCKS_CLUSTERED}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-DEADLOCKS-COMMON.Succeeded || TIDB-DEADLOCKS-COMMON.Failed]
- name: TIDB-DEADLOCKS-INDEX
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_DEADLOCKS_INDEX}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-DEADLOCKS-CLUSTERED.Succeeded || TIDB-DEADLOCKS-CLUSTERED.Failed]
- name: TIDB-DEADLOCKS-PARTITION-COMMON
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_DEADLOCKS_PARTITION_COMMON}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-DEADLOCKS-INDEX.Succeeded || TIDB-DEADLOCKS-INDEX.Failed]
- name: TIDB-DEADLOCKS-PARTITION-CLUSTERED
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_DEADLOCKS_PARTITION_CLUSTERED}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-DEADLOCKS-PARTITION-COMMON.Succeeded || TIDB-DEADLOCKS-PARTITION-COMMON.Failed]
- name: TIDB-RETRYABLE-DEADLOCK
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_RETRYABLE_DEADLOCK}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-DEADLOCKS-PARTITION-CLUSTERED.Succeeded || TIDB-DEADLOCKS-PARTITION-CLUSTERED.Failed]
- name: TIDB-TRX-STATE-IDLE
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_TRX_STATE_IDLE}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-RETRYABLE-DEADLOCK.Succeeded || TIDB-RETRYABLE-DEADLOCK.Failed]
- name: TIDB-TRX-STATE-RUNNING
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_TRX_STATE_RUNNING}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-TRX-STATE-IDLE.Succeeded || TIDB-TRX-STATE-IDLE.Failed]
- name: TIDB-TRX-STATE-LOCKWAITING
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_TRX_STATE_LOCKWAITING}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-TRX-STATE-RUNNING.Succeeded || TIDB-TRX-STATE-RUNNING.Failed]
- name: TIDB-TRX-STATE-COMMITTING
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_TRX_STATE_COMMITTING}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-TRX-STATE-LOCKWAITING.Succeeded || TIDB-TRX-STATE-LOCKWAITING.Failed]
- name: TIDB-TRX-STATE-ROLLBACKING
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: TIDB_TRX_STATE_ROLLBACKING}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-TRX-STATE-COMMITTING.Succeeded || TIDB-TRX-STATE-COMMITTING.Failed]
- name: LOCK-VIEW-PRIVILEGE
  caseName: utf-go-transaction
  arguments:
  - {name: case, value: LOCK_VIEW_PRIVILEGE}
  - {name: params, value: '{}'}
  - {name: tidb, value: '{{testbed.tidb-default}}'}
  after: [TIDB-TRX-STATE-ROLLBACKING.Succeeded || TIDB-TRX-STATE-ROLLBACKING.Failed]
