Skip to content

Latest commit

 

History

History
478 lines (422 loc) · 28.6 KB

CHANGELOG.md

File metadata and controls

478 lines (422 loc) · 28.6 KB

TiDB Operator v1.0.0 Release Notes

v1.0.0 What’s New

Action Required

  • ACTION REQUIRED: tikv.storeLabels was remove from values.yaml. Instead, you can set it with location-labels in pd.config directly
  • ACTION REQUIRED: tidb-scheduler --features flag has been updated to use key={true,false} format, please append =true to enable the feature.
  • ACTION REQUIRED: Users should migrate the configs in values.yaml of previous chart releases to the new values.yaml of the new chart, otherwise, the configurations will be ignored when upgrading TiDB cluster with the new chart.

pd section in old values.yaml:

pd:
  logLevel: info
  maxStoreDownTime: 30m
  maxReplicas: 3

pd section in new values.yaml:

pd:
  config: |
    [log]
    level = "info"
    [schedule]
    max-store-down-time = "30m"
    [replication]
    max-replicas = 3

tikv section in old values.yaml:

tikv:
  logLevel: info
  syncLog: true
  readpoolStorageConcurrency: 4
  readpoolCoprocessorConcurrency: 8
  storageSchedulerWorkerPoolSize: 4

tikv section in new values.yaml:

tikv:
  config: |
    log-level = "info"
    [server]
    status-addr = "0.0.0.0:20180"
    [raftstore]
    sync-log = true
    [readpool.storage]
    high-concurrency = 4
    normal-concurrency = 4
    low-concurrency = 4
    [readpool.coprocessor]
    high-concurrency = 8
    normal-concurrency = 8
    low-concurrency = 8
    [storage]
    scheduler-worker-pool-size = 4

tidb section in old values.yaml:

tidb:
  logLevel: info
  preparedPlanCacheEnabled: false
  preparedPlanCacheCapacity: 100
  txnLocalLatchesEnabled: false
  txnLocalLatchesCapacity: "10240000"
  tokenLimit: "1000"
  memQuotaQuery: "34359738368"
  txnEntryCountLimit: "300000"
  txnTotalSizeLimit: "104857600"
  checkMb4ValueInUtf8: true
  treatOldVersionUtf8AsUtf8mb4: true
  lease: 45s
  maxProcs: 0

tidb section in new values.yaml:

tidb:
  config: |
    token-limit = 1000
    mem-quota-query = 34359738368
    check-mb4-value-in-utf8 = true
    treat-old-version-utf8-as-utf8mb4 = true
    lease = "45s"
    [log]
    level = "info"
    [prepared-plan-cache]
    enabled = false
    capacity = 100
    [txn-local-latches]
    enabled = false
    capacity = 10240000
    [performance]
    txn-entry-count-limit = 300000
    txn-total-size-limit = 104857600
    max-procs = 0

monitor section in old values.yaml:

monitor:
  create: true
  ...

monitor section in new values.yaml:

monitor:
  create: true
   initializer:
     image: pingcap/tidb-monitor-initializer:v3.0.1
     imagePullPolicy: IfNotPresent
   reloader:
     create: true
     image: pingcap/tidb-monitor-reloader:v1.0.0
     imagePullPolicy: IfNotPresent
     service:
       type: NodePort
  ...

Please check cluster configuration for detailed configuration.

Stability tests cases added

  • stop all etcds and kubelets

A lot of improvements

  • Simplify GKE SSD setup
  • Modularization for AWS terraform scripts
  • turn on automatic failover feature by default
  • Configmap rollout is now enabled by default
  • Stable scheduling is now enabled by default
  • Support multiple tidb clusters management in Alibaba Cloud
  • Enable AWS NLB cross zone load balancing by default

Bug fixes

  • Fix sysbench installation on bastion machine of AWS deployment
  • Fix TiKV metrics monitoring in default setup

Detailed Bug Fixes And Changes

  • Support-Multi-version-TiDB-monitor (#666)
  • Specify tikv status address to fix monitoring (#695)
  • AWS deployment: fix sysbench installation on bastion machine and… (#688)
  • git remote add upstream using https (#690)
  • Stability cases: stop kubelet and etcd (#665)
  • limit test cover packages (#687)
  • Enable nlb cross zone load balancing by default (#686)
  • Add tikv raftstore parameters (#681)
  • Alibaba Cloud multiple tidb clusters management support (#658)
  • adjust end evict scheduler func (#680)
  • add more logs (#676)
  • Update feature gates to support key={true,false} syntax (#677)
  • meke -> make (#679)
  • Enable configmap rollout by default and quote configmap digest suffix (#678)
  • turn automitic failover on (#667)
  • Sets node count for default pool equal to total desired node count (#673))
  • Upgrade default TiDB version to v3.0.1 (#671)
  • Remove storeLabels (#663)
  • change the way to config tidb/tikv/pd in charts (#638)
  • Modularization for AWS terraform scripts (#650)
  • change Deferclose func (#653)
  • Increase the default storage size for pump from 10Gi to 20Gi in response to stop-write-at-available-space (#657)
  • Simplify local SDD setup (#644)

TiDB Operator v1.0.0-rc.1 Release Notes

v1.0.0-rc.1 What’s New

Stability test cases added

  • stop kube-proxy
  • upgrade tidb-operator

A lot of improvements

  • get the TS first and increase the TiKV GC life time to 3 hours before the full backup
  • Add endpoints list and watch permission for controller-manager
  • Scheduler image is updated to use "k8s.gcr.io/kube-scheduler" which is much smaller than "gcr.io/google-containers/hyperkube". You must pre-pull the new scheduler image into your airgap environment before upgrading.
  • Full backup data can be uploaded to or downloaded from Amazon S3
  • The terraform scripts support manage multiple TiDB clusters in one EKS cluster.
  • Add tikv.storeLables setting
  • on GKE one can use COS for TiKV nodes with small data for faster startup
  • Support force upgrade when PD cluster is unavailable.

Bug fixes

  • fix unbound variable in the backup script
  • Give kube-scheduler permission to update/patch pod status
  • fix tidb user of scheduled backup script
  • fix scheduled backup to ceph object storage
  • Fix several usability problems for AWS terraform deployment
  • fix scheduled backup bug: segmentation fault when backup user's password is empty

Detailed Bug Fixes And Changes

  • bugfix: segmentation fault when backup user's password is empty (#649)
  • Small fixes for terraform aws (#646)
  • TiKV upgrade bug fix (#626)
  • improving the readability of some code (#639)
  • support force upgrade when pd cluster is unavailable (#631)
  • Add new terraform version requirement to AWS deployment (#636)
  • GKE local ssd provisioner for COS (#612)
  • remove tidb version from build (#627)
  • refactor so that using the PD API avoids unnecessary imports (#618)
  • add storeLabels setting (#527)
  • Update google-kubernetes-tutorial.md (#622)
  • Multiple clusters management in EKS (#616)
  • Add Amazon S3 support to the backup/restore features (#606)
  • pass TiKV upgrade case (#619)
  • separate slow log with tidb server log by default (#610)
  • fix the problem of unbound variable in backup script (#608)
  • fix notes of tidb-backup chart (#595)
  • Give kube-scheduler ability to update/patch pod status. (#611)
  • Use kube-scheduler image instead of hyperkube (#596)
  • fix pull request template grammar (#607)
  • local SSD provision: reduce network traffic (#601)
  • {origin/HEAD} {origin/master} add operator upgrade case (#579)
  • fix bug that tikv status is always upgrade (#598)
  • build without debugger symbols (#592)
  • improve error messages (#591)
  • fix tidb user of scheduled backup script (#594)
  • fix dt case bug (#571)
  • GKE terraform (#585)
  • fix scheduled backup to ceph object storage (#576)
  • Add stop kube-scheduler/kube-controller-manager test cases (#583)
  • Add endpoints list and watch permission for controller-manager (#590)
  • refine fullbackup (#570)
  • Make sure go modules files are always tidy and up to date (#588)
  • Local SSD on GKE (#577)
  • stability-test: stop kube-proxy case (#556)
  • fix resource unit (#573)
  • Give local-volume-provisioner pod a QoS of Guaranteed (#569)
  • Check PD enpoints status when it's unhealthy. (#545)

TiDB Operator v1.0.0-beta.3 Release Notes

v1.0.0-beta.3 What’s New

Action Required

  • ACTION REQUIRED: nodeSelectorRequired was removed from values.yaml.
  • ACTION REQUIRED: Comma-separated values support in nodeSelector has been dropped, please use new-added affinity field which has a more expressive syntax.

A lot of stability cases added

  • ConfigMap rollout
  • One PD replicas
  • Stop TiDB Operator itself
  • TiDB stable scheduling
  • Disaster tolerance and data regions disaster tolerance
  • Fix many bugs of stability test

Features added

  • Introduce ConfigMap rollout management. With the feature gate open, configuration file changes will be automatically applied to the cluster via a rolling update. Currently, the scheduler and replication configurations of PD can not be changed via ConfigMap rollout. You can use pd-ctl to change these values instead, see #487 for details.
  • Support stable scheduling for pods of TiDB members in tidb-scheduler.
  • Support adding additional pod annotations for PD/TiKV/TiDB, e.g. fluentbit.io/parser.
  • Support the affinity feature of k8s which can define the rule of assigning pods to nodes
  • Allow pausing during TiDB upgrade

Documentation improved

  • GCP one-command deployment
  • Refine user guides
  • Improve GKE, AWS, Aliyun guide

Pass Queeny's test

Other improvements

  • Upgrade default TiDB version to v3.0.0-rc.1
  • fix bug in reporting assigned nodes of tidb members
  • tkctl get can show cpu usage correctly now
  • Adhoc backup now appends the start time to the PVC name by default.
  • add the privileged option for TiKV pod
  • tkctl upinfo can show nodeIP podIP port now
  • get TS and use it before full backup using mydumper
  • Fix capabilities issue for tkctl debug command

Detailed Bug Fixes And Changes

  • Add capabilities and privilege mode for debug container (#537)
  • docs: note helm versions in deployment docs (#553)
  • deploy/aws: split public and private subnets when using existing vpc (#530)
  • release v1.0.0-beta.3 (#557)
  • Gke terraform upgrade to 0.12 and fix bastion instance zone to be region agnostic (#554)
  • get TS and use it before full backup using mydumper (#534)
  • Add port podip nodeip to tkctl upinfo (#538)
  • fix disaster tolerance of stability test (#543)
  • add privileged option for tikv pod template (#550)
  • use staticcheck instead of megacheck (#548)
  • Refine backup and restore documentation (#518)
  • Fix stability tidb pause case (#542)
  • Fix tkctl get cpu info rendering (#536)
  • Fix aliyun tf output rendering and refine documents (#511)
  • make webhook configurable (#529)
  • Add pods disaster tolerance and data regions disaster tolerance test cases (#497)
  • Remove helm hook annotation for initializer job (#526)
  • stability test: Add stable scheduling e2e test case (#524)
  • upgrade tidb version in related documentations (#532)
  • stable scheduling: fix bug in reporting assigned nodes of tidb members (#531)
  • reduce wait time and fix stablity test (#525)
  • tidb-operator: fix documentation usability issues in GCP document (#519)
  • stability cases added: pd replicas 1 and stop tidb-operator (#496)
  • pause-upgrade stability test (#521)
  • fix restore script bug (#510)
  • stability: retry truncating sst files upon failure (#484)
  • upgrade default tidb to v3.0.0-rc.1 (#520)
  • add --namespace when create backup secret (#515)
  • New stability test case for ConfigMap rollout (#499)
  • docs: Fix issues found in Queeny's test (#507)
  • Pause rolling-upgrade process of tidb statefulset (#470)
  • Gke terraform and guide (#493)
  • support the affinity feature of k8s which define the rule of assigning pods to nodes (#475)
  • Support adding additional pod annotations for PD/TiKV/TiDB (#500)
  • Document about PD configuration issue (#504)
  • Refine aliyun and aws cloud tidb configurations (#492)
  • tidb-operator: update wording and add note (#502)
  • Support stable scheduling for TiDB (#477)
  • fix make lint (#495)
  • Support updating configuraion on the fly (#479)
  • docs/aws: update AWS deploy docs after testing (#491)
  • add release-note to pull_request_template.md (#490)
  • Design proposal of stable scheduling in TiDB (#466)
  • Update DinD image to make it possible to configure HTTP proxies (#485)
  • readme: fix a broken link (#489)
  • Fixed typo (#483)

TiDB Operator v1.0.0-beta.2 Release Notes

v1.0.0-beta.2 What’s New

Stability has been greatly enhanced

  • Refactored e2e test
  • Added stability test, 7x24 running

Greatly improved ease of use

  • One-command deployment for AWS, Aliyun
  • Minikube deployment for testing
  • Tkctl cli tool
  • Refactor backup chart for ease use
  • Refine initializer job
  • Grafana monitor dashboard improved, support multi-version
  • Improved user guide
  • Contributing documentation

Bug fixes

  • Fix PD start script, add join file when startup
  • Fix TiKV failover take too long
  • Fix PD ha when replcias is less than 3
  • Fix a tidb-scheduler acquireLock bug and emit event when scheduled failed
  • Fix scheduler ha bug with defer deleting pods
  • Fix bug when using shareinformer without deepcopy

Other improvements

  • Remove pushgateway from TiKV pod
  • Add GitHub templates for issue reporting and PR
  • Automatically set the scheduler K8s version
  • Swith to go module
  • Support slow log of TiDB

Detailed Bug Fixes And Changes

  • Don't initialize when there is no tidb.password (#282)
  • fix join script (#285)
  • Document tool setup and e2e test detail in Contributing.md (#288)
  • Update setup.md (#281)
  • Support slow log tailing sidcar for tidb instance (#290)
  • Flexible tidb initializer job with secret set outside of helm (#286)
  • Ensure SLOW_LOG_FILE env variable is always set (#298)
  • fix setup document description (#300)
  • refactor backup (#301)
  • Abandon vendor and refresh go.sum (#311)
  • set the SLOW_LOG_FILE in the startup script (#307)
  • automatically set the scheduler K8s version (#313)
  • tidb stability test main function (#306)
  • stability: add fault-trigger server (#312)
  • Yinliang/backup and restore add adhoc backup and restore functison (#316)
  • stability: add scale & upgrade case functions (#309)
  • add slack (#318)
  • log dump when test failed (#317)
  • stability: add fault-trigger client (#326)
  • monitor checker (#320)
  • stability: add blockWriter case for inserting data (#321)
  • add scheduled-backup test case (#322)
  • stability: port ddl test as a workload (#328)
  • stability: use fault-trigger at e2e tests and add some log (#330)
  • add binlog deploy and check process (#329)
  • fix e2e can not make (#331)
  • multi tidb cluster testing (#334)
  • fix bakcup test bugs (#335)
  • delete blockWrite.go use blockwrite.go instead (#333)
  • remove vendor (#344)
  • stability: add more checks for scale & upgrade (#327)
  • stability: support more fault injection (#345)
  • rewrite e2e (#346)
  • stability: add failover test (#349)
  • fix ha when replcias is less than 3 (#351)
  • stability: add fault-trigger service file (#353)
  • fix dind doc (#352)
  • Add additionalPrintColumns for TidbCluster CRD (#361)
  • refactor stability main function (#363)
  • enable admin privelege for prom (#360)
  • Updated Readme with New Info (#365)
  • Build CLI (#357)
  • add extraLabels variable in tidb-cluster chart (#373)
  • fix tikv failover (#368)
  • Separate and ensure setup before e2e-build (#375)
  • Fix codegen.sh and lock related depedencies (#371)
  • stability: add sst-file-corruption case (#382)
  • use release name as default clusterName (#354)
  • Add util class to support to add annotations to Grafana (#378)
  • Use grafana provisioning to replace dashboard installer (#388)
  • ensure test env is ready before cases running (#386)
  • remove monitor config job check (#390)
  • Update local-pv documentation (#383)
  • Update Jenkins links in README.md (#395)
  • fix e2e workflow in CONTRIBUTING.md (#392)
  • Support running stability test out of cluster (#397)
  • update tidb secret docs and charts (#398)
  • Enable blockWriter write pressure in stability test (#399)
  • Support debug and ctop commands in CLI (#387)
  • marketplace update (#380)
  • dashboard:update editable value from true to false (#394)
  • add fault inject for kube proxy (#384)
  • use ioutil.TempDir() create charts and operator repo's directories (#405)
  • Improve workflow in docs/google-kubernetes-tutorial.md (#400)
  • Support plugin start argument for tidb instance (#412)
  • Replace govet with official vet tool (#416)
  • allocate 24 PVs by default (after 2 clusters are scaled to (#407)
  • refine stability (#422)
  • Record event as grafana annotation in stability test (#414)
  • add GitHub templates for issue reporting and PR (#420)
  • add TiDBUpgrading func (#423)
  • fix operator chart issue (#419)
  • fix stability issues (#433)
  • change cert generate method and add pd and kv prestop webhook (#406)
  • a tidb-scheduler bug fix and emit event when scheduled failed (#427)
  • Shell completion for tkctl (#431)
  • Delete an duplicate import (#434)
  • add etcd and kube-apiserver faults (#367)
  • Fix TiDB Slack link (#444)
  • fix scheduler ha bug (#443)
  • add terraform script to auto deploy TiDB cluster on AWS (#401)
  • Adds instructions to access Grafana in GKE tutorial (#448)
  • fix label selector (#437)
  • no need to set ClusterIP when syncing headless service (#432)
  • docs on how to deploy tidb cluster with tidb-operator in minikube (#451)
  • add slack notify (#439)
  • fix local dind env (#440)
  • Add terraform scripts to support alibaba cloud ACK deployment (#436)
  • Fix backup data compare logic (#454)
  • stability test: async emit annotations (#438)
  • Use TiDB v2.1.8 by default & remove pushgateway (#435)
  • Fix bug use shareinformer without copy (#462)
  • Add version command for tkctl (#456)
  • Add tkctl user manual (#452)
  • Fix binlog problem on large scale (#460)
  • Copy kubernetes.io/hostname label to PVs (#464)
  • AWS EKS tutorial change to new terraform script (#463)
  • docs/minikube: update documentation of minikube installation (#471)
  • docs/dind: update documentation of DinD installation (#458)
  • docs/minikube: add instructions to access Grafana (#476)
  • support-multi-version-dashboard (#473)
  • docs/aliyun: update aliyun deploy docs after testing (#474)
  • GKE local SSD size warning (#467)
  • update roadmap (#376)