diff --git a/docs/api-references/docs.md b/docs/api-references/docs.md
index 695853e4637..7af0fa4c264 100644
--- a/docs/api-references/docs.md
+++ b/docs/api-references/docs.md
@@ -16153,6 +16153,16 @@ string
Node hosting pod of this TiDB member.
+
+
+message
+
+string
+
+ |
+
+ |
+
TiDBServiceSpec
diff --git a/manifests/crd.yaml b/manifests/crd.yaml
index d9962e0c384..6ec36c00461 100644
--- a/manifests/crd.yaml
+++ b/manifests/crd.yaml
@@ -33604,12 +33604,15 @@ spec:
format: date-time
nullable: true
type: string
+ message:
+ type: string
name:
type: string
node:
type: string
required:
- health
+ - message
- name
type: object
type: object
diff --git a/manifests/crd/v1/pingcap.com_tidbclusters.yaml b/manifests/crd/v1/pingcap.com_tidbclusters.yaml
index d1258fc32d9..f85d64534e0 100644
--- a/manifests/crd/v1/pingcap.com_tidbclusters.yaml
+++ b/manifests/crd/v1/pingcap.com_tidbclusters.yaml
@@ -20349,12 +20349,15 @@ spec:
format: date-time
nullable: true
type: string
+ message:
+ type: string
name:
type: string
node:
type: string
required:
- health
+ - message
- name
type: object
type: object
diff --git a/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml b/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml
index f73148298d0..7cb6f529a9f 100644
--- a/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml
+++ b/manifests/crd/v1beta1/pingcap.com_tidbclusters.yaml
@@ -20319,12 +20319,15 @@ spec:
format: date-time
nullable: true
type: string
+ message:
+ type: string
name:
type: string
node:
type: string
required:
- health
+ - message
- name
type: object
type: object
diff --git a/manifests/crd_v1beta1.yaml b/manifests/crd_v1beta1.yaml
index 539abaab91a..5aef3199ea4 100644
--- a/manifests/crd_v1beta1.yaml
+++ b/manifests/crd_v1beta1.yaml
@@ -33569,12 +33569,15 @@ spec:
format: date-time
nullable: true
type: string
+ message:
+ type: string
name:
type: string
node:
type: string
required:
- health
+ - message
- name
type: object
type: object
diff --git a/pkg/apis/pingcap/v1alpha1/types.go b/pkg/apis/pingcap/v1alpha1/types.go
index 87a76807447..32a0b96cfd8 100644
--- a/pkg/apis/pingcap/v1alpha1/types.go
+++ b/pkg/apis/pingcap/v1alpha1/types.go
@@ -1346,6 +1346,7 @@ type TiDBMember struct {
LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
// Node hosting pod of this TiDB member.
NodeName string `json:"node,omitempty"`
+ Message string `json:"message"`
}
// TiDBFailureMember is the tidb failure member information
diff --git a/pkg/manager/member/tidb_member_manager.go b/pkg/manager/member/tidb_member_manager.go
index 71136bf50d5..d51ad8010fb 100644
--- a/pkg/manager/member/tidb_member_manager.go
+++ b/pkg/manager/member/tidb_member_manager.go
@@ -1049,14 +1049,14 @@ func (m *tidbMemberManager) syncTidbClusterStatus(tc *v1alpha1.TidbCluster, set
for id := range helper.GetPodOrdinals(tc.Status.TiDB.StatefulSet.Replicas, set) {
name := fmt.Sprintf("%s-%d", controller.TiDBMemberName(tc.GetName()), id)
health, err := m.deps.TiDBControl.GetHealth(tc, int32(id))
- if err != nil {
- return err
- }
-
newTidbMember := v1alpha1.TiDBMember{
Name: name,
Health: health,
}
+ if err != nil {
+ klog.V(4).Infof("tidb cluster %s/%s sync status get health error:%v", tc.GetNamespace(), tc.GetName(), err)
+ newTidbMember.Message = err.Error()
+ }
oldTidbMember, exist := tc.Status.TiDB.Members[name]
newTidbMember.LastTransitionTime = metav1.Now()