apiVersion: api/v1
kind: Plan
name: utf-pessimistic-lock
pipeline:
- after: []
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1213
  name: TICASE-1213
- after:
  - TICASE-1213.Succeeded || TICASE-1213.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1221
  name: TICASE-1221
- after:
  - TICASE-1221.Succeeded || TICASE-1221.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1227
  name: TICASE-1227
- after:
  - TICASE-1227.Succeeded || TICASE-1227.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1224
  name: TICASE-1224
- after:
  - TICASE-1224.Succeeded || TICASE-1224.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1414
  name: TICASE-1414
- after:
  - TICASE-1414.Succeeded || TICASE-1414.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1266
  name: TICASE-1266
- after:
  - TICASE-1266.Succeeded || TICASE-1266.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1226
  name: TICASE-1226
- after:
  - TICASE-1226.Succeeded || TICASE-1226.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1228
  name: TICASE-1228
- after:
  - TICASE-1228.Succeeded || TICASE-1228.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1223
  name: TICASE-1223
- after:
  - TICASE-1223.Succeeded || TICASE-1223.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1222
  name: TICASE-1222
- after:
  - TICASE-1222.Succeeded || TICASE-1222.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1213-HASH
  name: TICASE-1213-HASH
- after:
  - TICASE-1213-HASH.Succeeded || TICASE-1213-HASH.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1213-RANGE
  name: TICASE-1213-RANGE
- after:
  - TICASE-1213-RANGE.Succeeded || TICASE-1213-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1213-LIST
  name: TICASE-1213-LIST
- after:
  - TICASE-1213-LIST.Succeeded || TICASE-1213-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1221-HASH
  name: TICASE-1221-HASH
- after:
  - TICASE-1221-HASH.Succeeded || TICASE-1221-HASH.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1221-RANGE
  name: TICASE-1221-RANGE
- after:
  - TICASE-1221-RANGE.Succeeded || TICASE-1221-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1221-LIST
  name: TICASE-1221-LIST
- after:
  - TICASE-1221-LIST.Succeeded || TICASE-1221-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1227-HASH
  name: TICASE-1227-HASH
- after:
  - TICASE-1227-HASH.Succeeded || TICASE-1227-HASH.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1227-LIST
  name: TICASE-1227-LIST
- after:
  - TICASE-1227-LIST.Succeeded || TICASE-1227-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1227-RANGE
  name: TICASE-1227-RANGE
- after:
  - TICASE-1227-RANGE.Succeeded || TICASE-1227-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1224-HASH
  name: TICASE-1224-HASH
- after:
  - TICASE-1224-HASH.Succeeded || TICASE-1224-HASH.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1224-LIST
  name: TICASE-1224-LIST
- after:
  - TICASE-1224-LIST.Succeeded || TICASE-1224-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1224-RANGE
  name: TICASE-1224-RANGE
- after:
  - TICASE-1224-RANGE.Succeeded || TICASE-1224-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1414-HASH
  name: TICASE-1414-HASH
- after:
  - TICASE-1414-HASH.Succeeded || TICASE-1414-HASH.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1414-LIST
  name: TICASE-1414-LIST
- after:
  - TICASE-1414-LIST.Succeeded || TICASE-1414-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1414-RANGE
  name: TICASE-1414-RANGE
- after:
  - TICASE-1414-RANGE.Succeeded || TICASE-1414-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1266-HASH
  name: TICASE-1266-HASH
- after:
  - TICASE-1266-HASH.Succeeded || TICASE-1266-HASH.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1266-RANGE
  name: TICASE-1266-RANGE
- after:
  - TICASE-1266-RANGE.Succeeded || TICASE-1266-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1266-LIST
  name: TICASE-1266-LIST
- after:
  - TICASE-1266-LIST.Succeeded || TICASE-1266-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1226-RANGE
  name: TICASE-1226-RANGE
- after:
  - TICASE-1226-RANGE.Succeeded || TICASE-1226-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1226-LIST
  name: TICASE-1226-LIST
- after:
  - TICASE-1226-LIST.Succeeded || TICASE-1226-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1228-RANGE
  name: TICASE-1228-RANGE
- after:
  - TICASE-1228-RANGE.Succeeded || TICASE-1228-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1228-LIST
  name: TICASE-1228-LIST
- after:
  - TICASE-1228-LIST.Succeeded || TICASE-1228-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1223-RANGE
  name: TICASE-1223-RANGE
- after:
  - TICASE-1223-RANGE.Succeeded || TICASE-1223-RANGE.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TICASE-1223-LIST
  name: TICASE-1223-LIST
- after:
  - TICASE-1223-LIST.Succeeded || TICASE-1223-LIST.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: MaxTSCase
  name: MaxTSCase
- after:
  - MaxTSCase.Succeeded || MaxTSCase.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: SkipLockRead
  name: SkipLockRead
- after:
  - SkipLockRead.Succeeded || SkipLockRead.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: CommitTsExpired
  name: CommitTsExpired
- after:
  - CommitTsExpired.Succeeded || CommitTsExpired.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: CommitTsExpiredHashParted
  name: CommitTsExpiredHashParted
- after:
  - CommitTsExpiredHashParted.Succeeded || CommitTsExpiredHashParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: CommitTsExpiredRangeParted
  name: CommitTsExpiredRangeParted
- after:
  - CommitTsExpiredRangeParted.Succeeded || CommitTsExpiredRangeParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: CommitTsExpiredListParted
  name: CommitTsExpiredListParted
- after:
  - CommitTsExpiredListParted.Succeeded || CommitTsExpiredListParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: MaxTSCaseHashParted
  name: MaxTSCaseHashParted
- after:
  - MaxTSCaseHashParted.Succeeded || MaxTSCaseHashParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: MaxTSCaseRangeParted
  name: MaxTSCaseRangeParted
- after:
  - MaxTSCaseRangeParted.Succeeded || MaxTSCaseRangeParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: MaxTSCaseListParted
  name: MaxTSCaseListParted
- after:
  - MaxTSCaseListParted.Succeeded || MaxTSCaseListParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: SkipLockReadRangeParted
  name: SkipLockReadRangeParted
- after:
  - SkipLockReadRangeParted.Succeeded || SkipLockReadRangeParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: SkipLockReadListParted
  name: SkipLockReadListParted
- after:
  - SkipLockReadListParted.Succeeded || SkipLockReadListParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockTableScan
  name: RCResolveLockTableScan
- after:
  - RCResolveLockTableScan.Succeeded || RCResolveLockTableScan.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockPointGet
  name: RCResolveLockPointGet
- after:
  - RCResolveLockPointGet.Succeeded || RCResolveLockPointGet.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockBatchPointGet
  name: RCResolveLockBatchPointGet
- after:
  - RCResolveLockBatchPointGet.Succeeded || RCResolveLockBatchPointGet.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockIndexLookup
  name: RCResolveLockIndexLookup
- after:
  - RCResolveLockIndexLookup.Succeeded || RCResolveLockIndexLookup.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockIndexReader
  name: RCResolveLockIndexReader
- after:
  - RCResolveLockIndexReader.Succeeded || RCResolveLockIndexReader.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockUniqueIndexLocking
  name: RCResolveLockUniqueIndexLocking
- after:
  - RCResolveLockUniqueIndexLocking.Succeeded || RCResolveLockUniqueIndexLocking.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockIndexMerge
  name: RCResolveLockIndexMerge
- after:
  - RCResolveLockIndexMerge.Succeeded || RCResolveLockIndexMerge.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockIndexMergeUpdateIndex
  name: RCResolveLockIndexMergeUpdateIndex
- after:
  - RCResolveLockIndexMergeUpdateIndex.Succeeded || RCResolveLockIndexMergeUpdateIndex.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockSubQuery
  name: RCResolveLockSubQuery
- after:
  - RCResolveLockSubQuery.Succeeded || RCResolveLockSubQuery.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: RCResolveLockPreparedSubQuery
  name: RCResolveLockPreparedSubQuery
- after:
  - RCResolveLockPreparedSubQuery.Succeeded || RCResolveLockPreparedSubQuery.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TimeDiff
  name: TimeDiff
- after:
  - TimeDiff.Succeeded || TimeDiff.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TimeDiffHashParted
  name: TimeDiffHashParted
- after:
  - TimeDiffHashParted.Succeeded || TimeDiffHashParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TimeDiffRangeParted
  name: TimeDiffRangeParted
- after:
  - TimeDiffRangeParted.Succeeded || TimeDiffRangeParted.Failed
  arguments:
  - name: tidb
    value: '{{testbed.master-failpoint}}'
  caseName: TimeDiffListParted
  name: TimeDiffListParted
schedule: '@daily'
testbed:
  generateName: oltp-
  reclaimPolicy:
    gcStrategy:
      onFailure:
        artifact:
          log: true
        notification:
          feishu: https://open.feishu.cn/open-apis/bot/v2/hook/df1958ba-c846-49f6-b0fe-caf2732441d5
  items:
  - name: master-failpoint
    spec:
      pd:
        env:
        - name: GO_FAILPOINTS
          value: github.com/tikv/pd/server/api/enableFailpointAPI=return
        replicas: 1
        version: '{{meta.parameters.base_image_version}}-failpoint'
        baseImage: '{{meta.parameters.pd_base_image}}'
      tidb:
        config: |
          server-version = '{{meta.parameters.tidb_version}}'
        env:
        - name: GO_FAILPOINTS
          value: github.com/pingcap/tidb/server/enableTestAPI=return
        replicas: 1
        version: '{{meta.parameters.base_image_version}}-failpoint'
        baseImage: '{{meta.parameters.tidb_base_image}}'
      tikv:
        replicas: 1
        version: '{{meta.parameters.base_image_version}}-failpoint'
        baseImage: '{{meta.parameters.tikv_base_image}}'
      version: '{{meta.parameters.base_image_version}}'
    type: TIDB_CLUSTER
