apiVersion: api/v1
kind: Plan
name: amend-random
tags: ['team:transaction', 'owner:you06', 'branch:master']
schedule: '0 0 * * *'
testbed:
  generateName: amend-
  resourcePool: test-store
  items:
  - name: tidb-up
    type: TIDB_CLUSTER
    spec:
      version: '{{meta.parameters.base_image_version}}'
      pd:
        baseImage: '{{meta.parameters.pd_base_image}}'
        replicas: 1
      tikv:
        baseImage: '{{meta.parameters.tikv_base_image}}'
        config: |
          [storage]
          reserve-space = 0
          enable-async-apply-prewrite = true
          [pessimistic-txn]
          pipelined = true
          in-memory = true
      tidb:
        baseImage: '{{meta.parameters.tidb_base_image}}'
        config: |
          new_collations_enabled_on_first_bootstrap = true
          [prepared-plan-cache]
          enabled = true
          [experimental]
          allow-expression-index = true
      pump:
        version: '{{meta.parameters.binlog_component_version}}'
        baseImage: "{{meta.parameters.binlog_base_image}}"
        replicas: 1
        requests:
          storage: 30Gi
  - name: tidb-down
    type: TIDB_CLUSTER
    spec:
      version: '{{meta.parameters.base_image_version}}'
      pd:
        replicas: 1
        baseImage: '{{meta.parameters.pd_base_image}}'
      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}}'
        config: |
          new_collations_enabled_on_first_bootstrap = true
          [prepared-plan-cache]
          enabled = true
          [experimental]
          allow-expression-index = true
  - name: drainer
    type: TIDB_DRAINER
    spec:
      clusterName: tidb-up
      clusterVersion: "{{meta.parameters.binlog_component_version}}"
      baseImage: "{{meta.parameters.binlog_base_image}}"
      config: |
        [syncer]
        db-type = "tidb"
        ignore-schemas = "INFORMATION_SCHEMA,PERFORMANCE_SCHEMA,mysql"
        [syncer.to]
        host = "tidb-down-tidb"
        user = "root"
        password = ""
        port = 4000
pipeline:
- name: index
  caseName: amend-random
  arguments:
  - {name: DSN1, value: 'root:@tcp({{testbed.items.tidb-up.tidb.host}}:4000)/test?tidb_general_log=1&tidb_txn_assertion_level=strict&tidb_enable_mutation_checker=1&tidb_enable_amend_pessimistic_txn=1'}
  - {name: DSN2, value: 'root:@tcp({{testbed.items.tidb-down.tidb.host}}:4000)/test?tidb_general_log=1&tidb_txn_assertion_level=strict&tidb_enable_mutation_checker=1&tidb_enable_amend_pessimistic_txn=1'}
  - {name: EXECUTOR, value: insert-update}
  - {name: MODE, value: 'create-index,drop-index'}
  - {name: TABLE_NAME, value: t_index}
  - {name: ROUND, value: '30'}
  - {name: TIMEOUT, value: 1h}
  after: []
- name: unique
  caseName: amend-random
  arguments:
  - {name: DSN1, value: 'root:@tcp({{testbed.items.tidb-up.tidb.host}}:4000)/test?tidb_general_log=1&tidb_txn_assertion_level=strict&tidb_enable_mutation_checker=1&tidb_enable_amend_pessimistic_txn=1'}
  - {name: DSN2, value: 'root:@tcp({{testbed.items.tidb-down.tidb.host}}:4000)/test?tidb_general_log=1&tidb_txn_assertion_level=strict&tidb_enable_mutation_checker=1&tidb_enable_amend_pessimistic_txn=1'}
  - {name: EXECUTOR, value: insert-update}
  - {name: MODE, value: 'create-unique-index,drop-unique-index'}
  - {name: TABLE_NAME, value: t_unique}
  - {name: ROUND, value: '30'}
  - {name: TIMEOUT, value: 1h}
  after: [index.Succeeded || index.Failed]
- name: column
  caseName: amend-random
  arguments:
  - {name: DSN1, value: 'root:@tcp({{testbed.items.tidb-up.tidb.host}}:4000)/test?tidb_general_log=1&tidb_txn_assertion_level=strict&tidb_enable_mutation_checker=1&tidb_enable_amend_pessimistic_txn=1'}
  - {name: DSN2, value: 'root:@tcp({{testbed.items.tidb-down.tidb.host}}:4000)/test?tidb_general_log=1&tidb_txn_assertion_level=strict&tidb_enable_mutation_checker=1&tidb_enable_amend_pessimistic_txn=1'}
  - {name: EXECUTOR, value: insert-update}
  - {name: MODE, value: 'add-column,drop-column,change-column-size'}
  - {name: TABLE_NAME, value: t_column}
  - {name: ROUND, value: '30'}
  - {name: TIMEOUT, value: 1h}
  after: [unique.Succeeded || unique.Failed]
