Skip to content

Commit

Permalink
release v1.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
dingfeng committed Mar 23, 2023
1 parent e11ca8b commit 4e2ad43
Show file tree
Hide file tree
Showing 14 changed files with 73 additions and 46 deletions.
4 changes: 0 additions & 4 deletions .gitmodules

This file was deleted.

56 changes: 32 additions & 24 deletions CHANGELOG/README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,42 @@
# Changelog

## 2023-03-23

Release v1.4.0

+ Enhancement & New Features
+ Support rebuild dn pod automatically
+ Support consensus log backup
+ Support point-in-time recovery(PITR)
+ Support backup schedule
+ Support restore without backup object
+ Support debug runmode of PolarDB-X cluster
+ Support default PrometheusRule for polardbx cluster.
+ Use *Cluster IP* as the default communication address among dn pods
+ Use container network as the default network type
+ Bug Fix
+ Fix backup failure on follower when using non-host network
+ Fix grafana cpu and mem usage issue for kube-state-metrics 2.3.0
+ Fix restore issue when binlog checksum is none.

## 2023-03-17

Release v1.4.0-beta

+ Enhancement & New Features
+ Support rebuild dn pod automatically
+ Support consensus log backup
+ Support point-in-time recovery(PITR)
+ Support backup schedule
+ Support restore without backup object
+ Support rebuild dn follower automatically when `Slave_SQL_Running` becomes `No` due to `Last_SQL_Error`
+ Support debug runmode of PolarDB-X cluster
+ Support default PrometheusRule for polardbx cluster
+ Support default PrometheusRule for polardbx cluster.
+ Use *Cluster IP* as the default communication address among dn pods
+ Use container network as the default network type
+ Bug Fix
+ Fix backup failure on follower when using non-host network
+ Fix grafana cpu and mem usage issue for kube-state-metrics 2.3.0
+ Fix restore issue when binlog checksum is none
+ Fix cdc crash during backup caused by sending heartbeat using XA transaction
+ Fix restore issue when binlog checksum is none.

## 2022-11-17

Expand Down Expand Up @@ -81,7 +99,6 @@ Fix overriding my.cnf passing to the script without section.
Release v1.2.1.

This is a bugfix release.

+ Fix the CDC problem by setting the 'consensuslog_revise' variable of galaxyengine to ON.
+ Update docker registry mirror used in China mainland from ustc to sjtug.
+ Fix the scale in/out progress: use "schedule rebalance" command.
Expand All @@ -91,19 +108,11 @@ This is a bugfix release.
Release v1.2.0.

+ Enhancement & New Features
+ Provide a new CR `PolarDBXMonitor` for declaring the monitoring of some `PolarDBXCluster`. The controller will
create `ServiceMonitors` to make prometheus scraping the metrics.
+ Provide a new chart `polardbx-monitor` which packages a
customized [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) release with predefined
dashboards for monitoring PolarDB-X clusters.
+ Provide support for xpaxos version of [galaxyengine](https://github.com/ApsaraDB/galaxyengine). Now
the `PolarDBXCluster` controller will create a typical paxos cluster (leader + follower + logger) for each GMS and
DN by default.
+ **Note** this is a breaking change. After the upgrade, the old `XStores` will be in an unmaintainable state.
Update of the GMS/DN is not possible due to incompatible data/log formats. You may have to delete all
the `PolarDBXCluster` in your Kubernetes before/after the upgrade.
+ If you want to keep the compatibility, you can disable this feature by declaring feature gate with negative
symbol `EnableGalaxyCluster-`. After that, no multi-node `XStore` with galaxy engine can be created.
+ Provide a new CR `PolarDBXMonitor` for declaring the monitoring of some `PolarDBXCluster`. The controller will create `ServiceMonitors` to make prometheus scraping the metrics.
+ Provide a new chart `polardbx-monitor` which packages a customized [kube-prometheus](https://github.com/prometheus-operator/kube-prometheus) release with predefined dashboards for monitoring PolarDB-X clusters.
+ Provide support for xpaxos version of [galaxyengine](https://github.com/ApsaraDB/galaxyengine). Now the `PolarDBXCluster` controller will create a typical paxos cluster (leader + follower + logger) for each GMS and DN by default.
+ **Note** this is a breaking change. After the upgrade, the old `XStores` will be in an unmaintainable state. Update of the GMS/DN is not possible due to incompatible data/log formats. You may have to delete all the `PolarDBXCluster` in your Kubernetes before/after the upgrade.
+ If you want to keep the compatibility, you can disable this feature by declaring feature gate with negative symbol `EnableGalaxyCluster-`. After that, no multi-node `XStore` with galaxy engine can be created.
+ Support scaling up/down and self-healing of the `XStores`.

+ Bug Fix
Expand All @@ -114,7 +123,7 @@ Release v1.2.0.
Release v1.1.0.

+ Enhancement & New Features
+ Support scaling in/out the PolarDBXCluster.
+ Support scaling in/out the PolarDBXCluster.
+ Support configure SSL on PolarDBXCluster.
+ Add a new CRD PolarDBXCluster for setting and reviewing the configs of PolarDB-X cluster.
+ `config.dynamic.CN` is not going to sync with cluster while phase is running.
Expand All @@ -123,22 +132,21 @@ Release v1.1.0.
+ Add label "polardbx/name" to Services、Secrets and ConfigMaps owned by PolarDBXCluster.
+ Support webhooks for PolarDBXCluster and PolarDBXClusterKnobs.
+ Support the complete spec of node selectors in `spec.topology.rules` of PolarDBXCluster.
+ Create headless services for pods of xstore. Record DNS domains instead of raw IP for records of DN in GMS and
among galaxyengine xstores.
+ Create headless services for pods of xstore. Record DNS domains instead of raw IP for records of DN in GMS and among galaxyengine xstores.
+ Support overwrite image tag in values.yaml (helm).
+ Support collect metrics for hotspot JVM 11.
+ Add e2e test tests.

+ Bug Fix
+ Fix the wrong call stack when logging with `flow.Error` in some cases.
+ Fix the wrong call stack when logging with `flow.Error` in some cases.
+ Fix the wrong timeout in polardbx-init.
+ Fix configuring host path of data volumes in values.yaml (helm).
+ Fix removing ini keys in galaxyengine's config.
+ Fix a `removeNull` in hsperfdata.

## 2021-10-15
## 2021-10-15

Release v1.0.0.
Release v1.0.0.

+ Provide v1 APIs:
+ PolarDBXCluster
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,14 @@ Follow the [快速开始](https://doc.polardbx.com/quickstart/topics/quickstart-

## Documentation

Please refer to the [CHANGELOG](./CHANGELOG/README.md) for the notable changes for each version.**
Please refer to the [CHANGELOG](./CHANGELOG.md) for the notable changes for each version.**

Refer to the documentations for more details, such as CRD definitions and operation guides.

+ [简体中文](https://doc.polardbx.com/quickstart/topics/quickstart-k8s.html)
+ [English](docs/en/index.md)
+ English(TODO)

如对文档有疑问,可提Issue或者Pull Request到[文档仓库](https://github.com/polardb/polardbx-operator-docs)

## Roadmap

Expand All @@ -42,9 +44,7 @@ Implemented:

Working in progress:

+ [T0] Backup Plan
+ [T1] Point in Time Recovery
+ [T2] Dashboard
+ [T0] Dashboard
+ ...

## License
Expand Down
6 changes: 3 additions & 3 deletions api/v1/polardbxbackupbinlog_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import (

type PolarDBXBackupBinlogSpec struct {
// +kubebuilder:validation:Required
PxcName string `json:"pxcName,omitempty"`
// +kubebuilder:validation:Required
PxcUid string `json:"pxcUid,omitempty"`
PxcName string `json:"pxcName"`
// +optional
PxcUid string `json:"pxcUid"`
// +kubebuilder:default=168
RemoteExpireLogHours intstr.IntOrString `json:"remoteExpireLogHours,omitempty"`
// +kubebuilder:default=7
Expand Down
1 change: 1 addition & 0 deletions api/v1/system_task_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ type SystemTaskSpec struct {
CnReplicas int `json:"cnReplicas,omitempty"`
CnResources corev1.ResourceRequirements `json:"cnResources,omitempty"`
DnResources corev1.ResourceRequirements `json:"dnResources,omitempty"`
Nodes []string `json:"nodes,omitempty"`
}

type SystemTaskStatus struct {
Expand Down
4 changes: 2 additions & 2 deletions charts/polardbx-logcollector/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: polardbx-logcollector
description: Helm chart of polardbx-operator logcollector plugin
type: application
version: 1.4.0-beta
appVersion: v1.4.0-beta
version: 1.4.0
appVersion: v1.4.0
keywords:
- polardb-x
- operator
Expand Down
4 changes: 2 additions & 2 deletions charts/polardbx-monitor/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: polardbx-monitor
description: Helm chart of polardbx-operator monitor plugin
type: application
version: 1.4.0-beta
appVersion: v1.4.0-beta
version: 1.4.0
appVersion: v1.4.0
keywords:
- polardb-x
- operator
Expand Down
4 changes: 2 additions & 2 deletions charts/polardbx-operator/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: polardbx-operator
description: Helm chart of polardbx-operator
type: application
version: 1.4.0-beta
appVersion: v1.4.0-beta
version: 1.4.0
appVersion: v1.4.0
keywords:
- polardb-x
- operator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ spec:
backup
type: string
type: object
required:
- pxcName
type: object
status:
properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ spec:
to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
nodes:
items:
type: string
type: array
taskType:
type: string
type: object
Expand Down
2 changes: 1 addition & 1 deletion charts/polardbx-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ images:
polardbxJob: polardbx-job

# Default image tag. Use app version if not specified or 'latest' if useLatestImage is true.
imageTag: v1.4.0-beta
imageTag: v1.4.0

# Uses the latest images for operator components.
useLatestImage: false
Expand Down
1 change: 0 additions & 1 deletion docs/zh
Submodule zh deleted from 57f451
3 changes: 3 additions & 0 deletions pkg/hpfs/filestream/flowcontrol.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,9 @@ func (f *FlowControlManger) LimitFlow(reader io.Reader, writer io.Writer, notify
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer func() {
recover()
}()
defer wg.Done()
for {
bytes, ok := <-bufChan
Expand Down
18 changes: 16 additions & 2 deletions pkg/operator/v1/systemtask/common/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ func (ctx *Context) GetXStoreByName(name string) (*v1.XStore, error) {

func (ctx *Context) GetAllXStorePods() ([]corev1.Pod, error) {
pods := make([]corev1.Pod, 0)
for _, role := range []string{polardbxmeta.RoleDN, polardbxmeta.RoleGMS} {
for _, role := range []string{polardbxmeta.RoleDN} {
var podList corev1.PodList
err := ctx.Client().List(ctx.Context(), &podList, client.InNamespace(ctx.Namespace()), client.MatchingLabels(map[string]string{
polardbxmeta.LabelRole: role,
Expand Down Expand Up @@ -177,9 +177,23 @@ func (ctx *Context) GetNodeXStorePodMap(separateRole bool, logger bool) (map[str
}

func (ctx *Context) GetAllNodes() ([]corev1.Node, error) {
systemtask := ctx.MustGetSystemTask()
var nodeList corev1.NodeList
err := ctx.Client().List(ctx.Context(), &nodeList)
return nodeList.Items, err
result := make([]corev1.Node, 0)
if len(systemtask.Spec.Nodes) > 0 {
nodeMap := make(map[string]bool, len(systemtask.Spec.Nodes))
for _, nodeName := range systemtask.Spec.Nodes {
nodeMap[nodeName] = true
}
for _, item := range nodeList.Items {
if _, ok := nodeMap[item.Name]; ok {
result = append(result, item)
}
}
}

return result, err
}

func (rc *Context) SetControllerRef(obj client.Object) error {
Expand Down

0 comments on commit 4e2ad43

Please sign in to comment.