apiVersion: api/v1
kind: Plan
name: utf-go-clustered-index
tags: ['team:transaction', 'owner:zyguan', 'branch:master']
schedule: '@daily'
testbed:
  generateName: utf-go-
  resourcePool: test-store
  items:
  - name: tidb-a
    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: 1
        baseImage: '{{meta.parameters.tidb_base_image}}'
        env:
        - name: GO_FAILPOINTS
          value: "github.com/pingcap/tidb/server/enableTestAPI=return"
        config: |
          max-index-length = 12287
          new_collations_enabled_on_first_bootstrap = true
          [experimental]
          allow-expression-index = true
  - name: tidb-b
    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 = false
        [pessimistic-txn]
        pipelined = true
        in-memory = false
      tidb:
        replicas: 1
        baseImage: '{{meta.parameters.tidb_base_image}}'
        env:
        - name: GO_FAILPOINTS
          value: "github.com/pingcap/tidb/server/enableTestAPI=return"
        config: |
          max-index-length = 12287
          new_collations_enabled_on_first_bootstrap = true
          [experimental]
          allow-expression-index = true
pipeline:
- name: TIDB-CLUSTERED-PREFIX-INDEX
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_PREFIX_INDEX}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: []
- name: TIDB-CLUSTERED-HASH-PARTITION
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_HASH_PARTITION}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-PREFIX-INDEX.Succeeded || TIDB-CLUSTERED-PREFIX-INDEX.Failed]
- name: TIDB-CLUSTERED-DELETE-M
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_DELETE_M}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-HASH-PARTITION.Succeeded || TIDB-CLUSTERED-HASH-PARTITION.Failed]
- name: TIDB-CLUSTERED-REPLACE-M
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_REPLACE_M}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-DELETE-M.Succeeded || TIDB-CLUSTERED-DELETE-M.Failed]
- name: TIDB-CLUSTERED-INSERT-M
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_INSERT_M}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-REPLACE-M.Succeeded || TIDB-CLUSTERED-REPLACE-M.Failed]
- name: TIDB-CLUSTERED-INSERT-C
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_INSERT_C}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-INSERT-M.Succeeded || TIDB-CLUSTERED-INSERT-M.Failed]
- name: TIDB-CLUSTERED-INDEX-MERGE
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_INDEX_MERGE}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-INSERT-C.Succeeded || TIDB-CLUSTERED-INSERT-C.Failed]
- name: TIDB-CLUSTERED-AGGREGATION
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_AGGREGATION}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-INDEX-MERGE.Succeeded || TIDB-CLUSTERED-INDEX-MERGE.Failed]
- name: TIDB-CLUSTERED-SORT
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_SORT}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-AGGREGATION.Succeeded || TIDB-CLUSTERED-AGGREGATION.Failed]
- name: TIDB-CLUSTERED-COL-COMBINATIONS
  caseName: utf-go-clustered-index
  arguments:
  - {name: case, value: TIDB_CLUSTERED_COL_COMBINATIONS}
  - {name: params, value: '{}'}
  - {name: tidb_a, value: '{{testbed.tidb-a}}'}
  - {name: tidb_b, value: '{{testbed.tidb-b}}'}
  after: [TIDB-CLUSTERED-SORT.Succeeded || TIDB-CLUSTERED-SORT.Failed]
