Describe the bug
kbcli version
Kubernetes: v1.30.4-vke.4
KubeBlocks: 1.1.0-beta.7
kbcli: 1.0.2
helm get notes -n kb-system kb-addon-mongodb
NOTES:
--------------------------------------------------------------------------------
ENTERPRISE SOFTWARE — LICENSE NOTICE
This Helm chart is part of KubeBlocks Enterprise Addons, proprietary software
owned by ApeCloud Co., Ltd.
A valid KubeBlocks Enterprise License Agreement is required to install and use
this software. Unauthorized use, copying, or distribution is prohibited.
License terms : see the LICENSE file included with this chart
Licensing info : support@apecloud.com
Website : https://www.apecloud.com
--------------------------------------------------------------------------------
Release Information:
Commit ID: "365b5f34cbafcd3905ce0cd8f09410794551c251"
Commit Time: "2026-06-23 15:25:42 +0800"
Release Branch: "v1.1.0-beta.7"
Release Time: "2026-06-24 17:46:15 +0800"
Enterprise: "true"
2026-07-02T02:51:07.275+0000 dumped 1 oplog entry
MongoServerSelectionError: Server at mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless:27017 reports maximum wire version 7, but this version of the Node.js Driver requires at least 8 (MongoDB 4.2)
date: invalid date '@'
To Reproduce
Steps to reproduce the behavior:
- create cluster
apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
name: mongodb-jmefeq
namespace: default
spec:
clusterDef: mongodb
topology: replicaset
terminationPolicy: WipeOut
componentSpecs:
- name: mongodb
serviceVersion: 4.0.28
replicas: 3
resources:
limits:
cpu: 100m
memory: 0.5Gi
requests:
cpu: 100m
memory: 0.5Gi
persistentVolumeClaimRetentionPolicy:
whenDeleted: Delete
volumeClaimTemplates:
- name: data
spec:
storageClassName:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
`kbcli cluster list-instances mongodb-jmefeq --namespace default `
NAME NAMESPACE CLUSTER COMPONENT STATUS ROLE ACCESSMODE AZ CPU(REQUEST/LIMIT) MEMORY(REQUEST/LIMIT) STORAGE NODE CREATED-TIME
mongodb-jmefeq-mongodb-0 default mongodb-jmefeq mongodb Running primary cn-guangzhou-b 100m / 100m 512Mi / 512Mi data:20Gi 192.168.0.195/192.168.0.195 Jul 02,2026 10:49 UTC+0800
mongodb-jmefeq-mongodb-1 default mongodb-jmefeq mongodb Running secondary cn-guangzhou-b 100m / 100m 512Mi / 512Mi data:20Gi 192.168.0.17/192.168.0.17 Jul 02,2026 10:49 UTC+0800
mongodb-jmefeq-mongodb-2 default mongodb-jmefeq mongodb Running secondary cn-guangzhou-b 100m / 100m 512Mi / 512Mi data:20Gi 192.168.0.252/192.168.0.252 Jul 02,2026 10:49 UTC+0800
- dump backup
kbcli cluster backup mongodb-jmefeq --method dump
- See error
kubectl get backup backup-default-mongodb-jmefeq-20260702105034
NAME POLICY METHOD REPO STATUS TOTAL-SIZE DURATION DELETION-POLICY CREATION-TIME COMPLETION-TIME EXPIRATION-TIME
backup-default-mongodb-jmefeq-20260702105034 mongodb-jmefeq-mongodb-backup-policy dump backuprepo-kbcli-test Failed Delete 2026-07-02T02:50:34Z
kubectl get pod | grep mongodb-jmefeq-20260702105034
dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf 0/2 Completed 0 11m
dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-5bnk6r 0/2 Completed 0 10m
dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-5w2hbp 0/2 Completed 0 8m33s
describe error pod backup use apecloud/percona-server-mongodb:8.0.17
kubectl describe pod dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf
Name: dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf
Namespace: default
Priority: 0
Service Account: kubeblocks-dataprotection-worker
Node: 192.168.0.74/192.168.0.74
Start Time: Thu, 02 Jul 2026 10:50:34 +0800
Labels: app.kubernetes.io/instance=mongodb-jmefeq
app.kubernetes.io/managed-by=kubeblocks-dataprotection
batch.kubernetes.io/controller-uid=6178cb63-1eb1-445f-81cf-f29f67cad41b
batch.kubernetes.io/job-name=dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-5cceb6
controller-uid=6178cb63-1eb1-445f-81cf-f29f67cad41b
dataprotection.kubeblocks.io/backup-name=backup-default-mongodb-jmefeq-20260702105034
dataprotection.kubeblocks.io/backup-policy=mongodb-jmefeq-mongodb-backup-policy
dataprotection.kubeblocks.io/backup-repo-name=backuprepo-kbcli-test
dataprotection.kubeblocks.io/backup-type=Full
dataprotection.kubeblocks.io/cluster-uid=ae6062ed-fb76-4501-adcd-6a1d21402f45
job-name=dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-5cceb6
operations.kubeblocks.io/ops-name=backup-default-mongodb-jmefeq-20260702105034
operations.kubeblocks.io/ops-type=Backup
Annotations: vke.volcengine.com/cello-pod-evict-policy: allow
Status: Failed
IP: 192.168.0.62
IPs:
IP: 192.168.0.62
Controlled By: Job/dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-5cceb6
Init Containers:
dp-copy-datasafed:
Container ID: containerd://34403caec08b1bd9a49e0d46c00a5eb360bb299681070c5dd22bb396d931b44e
Image: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/datasafed:0.2.3
Image ID: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/datasafed@sha256:7775e8184fbc833ee089b33427c4981bd7cd7d98cce5aeff1a9856b5de966b0f
Port: <none>
Host Port: <none>
Command:
/bin/sh
-c
/scripts/install-datasafed.sh /bin/datasafed
State: Terminated
Reason: Completed
Exit Code: 0
Started: Thu, 02 Jul 2026 10:50:35 +0800
Finished: Thu, 02 Jul 2026 10:50:35 +0800
Ready: True
Restart Count: 0
Limits:
cpu: 0
memory: 0
Requests:
cpu: 0
memory: 0
Environment: <none>
Mounts:
/bin/datasafed from dp-datasafed-bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-r69kz (ro)
Containers:
backupdata:
Container ID: containerd://078a2da700f87e188d4cad5175ef376e8a7918d28aac95ee0ad2e30746ad841f
Image: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb:8.0.17
Image ID: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb@sha256:8698ffa8c0a3cb1902160e75599adb9d8b2e448e922a145fcf55915ef2fd556a
Port: <none>
Host Port: <none>
Command:
bash
-c
# Copyright ApeCloud Co., Ltd. All Rights Reserved.
# SPDX-License-Identifier: LicenseRef-KubeBlocks-Enterprise
# shellcheck disable=SC2148
function get_current_time() {
if [ -n "$(whereis mongosh | awk '{print $2}')" ]; then
CLIENT="mongosh"
else
CLIENT="mongo"
fi
curr_time=$(${CLIENT} -u ${DP_DB_USER} -p ${DP_DB_PASSWORD} --port ${DP_DB_PORT} --host ${DP_DB_HOST} --authenticationDatabase admin --eval 'db.isMaster().lastWrite.lastWriteDate.getTime()/1000' --quiet)
curr_time=$(date -d "@${curr_time}" -u '+%Y-%m-%dT%H:%M:%SZ')
echo $curr_time
}
function stat_and_save_backup_info() {
export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
START_TIME=$1
STOP_TIME=$2
if [ -z $STOP_TIME ]; then
STOP_TIME=$(get_current_time)
fi
TOTAL_SIZE=$(datasafed stat / | grep TotalSize | awk '{print $2}')
echo "{\"totalSize\":\"$TOTAL_SIZE\",\"timeRange\":{\"start\":\"${START_TIME}\",\"end\":\"${STOP_TIME}\"}}" >"${DP_BACKUP_INFO_FILE}"
}
# if the script exits with a non-zero exit code, touch a file to indicate that the backup failed,
# the sync progress container will check this file and exit if it exists
function handle_exit() {
exit_code=$?
if [ $exit_code -ne 0 ]; then
echo "failed with exit code $exit_code"
touch "${DP_BACKUP_INFO_FILE}.exit"
exit 1
fi
}
# Copyright ApeCloud Co., Ltd. All Rights Reserved.
# SPDX-License-Identifier: LicenseRef-KubeBlocks-Enterprise
set -e
set -o pipefail
export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
trap handle_exit EXIT
# TODO: support endpoint env for sharding cluster.
mongo_uri="mongodb://${DP_DB_HOST}:${DP_DB_PORT}"
START_TIME=$(get_current_time)
mongodump --uri "${mongo_uri}" -u ${DP_DB_USER} -p ${DP_DB_PASSWORD} --authenticationDatabase admin --oplog --archive --numParallelCollections=${PARALLEL} | datasafed push -z zstd-fastest - "${DP_BACKUP_NAME}.archive.zst"
echo "" | datasafed push - oplog.signal
# stat and save the backup information
stat_and_save_backup_info "$START_TIME"
State: Terminated
Reason: Completed
Exit Code: 0
Started: Thu, 02 Jul 2026 10:50:37 +0800
Finished: Thu, 02 Jul 2026 10:51:37 +0800
Ready: False
Restart Count: 0
Limits:
cpu: 0
memory: 0
vke.volcengine.com/eni-ip: 1
Requests:
cpu: 0
memory: 0
vke.volcengine.com/eni-ip: 1
Environment Variables from:
mongodb-jmefeq-mongodb-env ConfigMap Optional: false
Environment:
MONGODB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
MONGODB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
POD_NAME: dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf (v1:metadata.name)
POD_NAMESPACE: default (v1:metadata.namespace)
POD_UID: (v1:metadata.uid)
POD_IP: (v1:status.podIP)
PATH: /tools/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KB_SERVICE_CHARACTER_TYPE: mongodb
SERVICE_PORT: $(KB_SERVICE_PORT)
MONGODB_ROOT_USER: $(MONGODB_USER)
MONGODB_ROOT_PASSWORD: $(MONGODB_PASSWORD)
MONGODB_GRANT_ANYACTION_PRIVILEGE: true
PBM_AGENT_MONGODB_USERNAME: $(MONGODB_USER)
PBM_AGENT_MONGODB_PASSWORD: $(MONGODB_PASSWORD)
PBM_MONGODB_REPLICA_SET: $(KB_CLUSTER_COMP_NAME)
PBM_AGENT_SIDECAR: true
PBM_AGENT_SIDECAR_SLEEP: 5
PBM_MONGODB_URI: mongodb://$(PBM_AGENT_MONGODB_USERNAME):$(PBM_AGENT_MONGODB_PASSWORD)@localhost:$(KB_SERVICE_PORT)/?authSource=admin
KB_POD_FQDN: $(POD_NAME).$(CLUSTER_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc
DP_BACKUP_NAME: backup-default-mongodb-jmefeq-20260702105034
DP_TARGET_POD_NAME: mongodb-jmefeq-mongodb-1
DP_TARGET_POD_ROLE: secondary
DP_BACKUP_BASE_PATH: /default/mongodb-jmefeq-ae6062ed-fb76-4501-adcd-6a1d21402f45/mongodb/backup-default-mongodb-jmefeq-20260702105034
DP_BACKUP_INFO_FILE: /dp-manager/backup.info
DP_TTL:
DP_DB_HOST: mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless
DP_DB_PORT: 27017
DP_DB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DP_DB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DATA_DIR: /data/mongodb/db
IMAGE_TAG: 8.0.17
PARALLEL: 4
KB_CLUSTER_UID: ae6062ed-fb76-4501-adcd-6a1d21402f45
KB_CLUSTER_NAME: mongodb-jmefeq
KB_COMP_NAME: mongodb
KB_NAMESPACE: default
DP_DATASAFED_BIN_PATH: /bin/datasafed
Mounts:
/bin/datasafed from dp-datasafed-bin (rw)
/dp-manager from manager-shared-volume (rw)
/etc/datasafed from dp-datasafed-config (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-r69kz (ro)
manager:
Container ID: containerd://07e176e23d12968450750a5fee1031a5f7bcca1d5842d54ad36f5caff13a9d3b
Image: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:1.1.0-beta.7
Image ID: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools@sha256:48e68f1c3ab044a5eec6acc637937ae1301f0b74a4109b28a0bfe7ad500b8b26
Port: <none>
Host Port: <none>
Command:
sh
-c
Args:
set -o errexit
set -o nounset
export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
backup_info_file="${DP_BACKUP_INFO_FILE}"
sleep_seconds="${DP_CHECK_INTERVAL}"
namespace="default"
backup_name="backup-default-mongodb-jmefeq-20260702105034"
if [ "$sleep_seconds" -le 0 ]; then
sleep_seconds=30
fi
exit_file="${backup_info_file}.exit"
while true; do
if [ -f "$exit_file" ]; then
echo "exit file $exit_file exists, exit"
exit 1
fi
if [ -f "$backup_info_file" ]; then
break
fi
echo "backup info file not exists, wait for ${sleep_seconds}s"
sleep "$sleep_seconds"
done
backup_info=$(cat "$backup_info_file")
echo "backupInfo:${backup_info}"
status="{\"status\":${backup_info}}"
kubectl -n "$namespace" patch backups.dataprotection.kubeblocks.io "$backup_name" --subresource=status --type=merge --patch "${status}"
# save the backup CR object to the backup repo
kubectl -n "$namespace" get backups.dataprotection.kubeblocks.io "$backup_name" -o json | datasafed push - "/kubeblocks-backup.json"
State: Terminated
Reason: Error
Exit Code: 1
Started: Thu, 02 Jul 2026 10:50:37 +0800
Finished: Thu, 02 Jul 2026 10:51:42 +0800
Ready: False
Restart Count: 0
Limits:
cpu: 0
memory: 0
Requests:
cpu: 0
memory: 0
Environment Variables from:
mongodb-jmefeq-mongodb-env ConfigMap Optional: false
Environment:
MONGODB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
MONGODB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
POD_NAME: dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf (v1:metadata.name)
POD_NAMESPACE: default (v1:metadata.namespace)
POD_UID: (v1:metadata.uid)
POD_IP: (v1:status.podIP)
PATH: /tools/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KB_SERVICE_CHARACTER_TYPE: mongodb
SERVICE_PORT: $(KB_SERVICE_PORT)
MONGODB_ROOT_USER: $(MONGODB_USER)
MONGODB_ROOT_PASSWORD: $(MONGODB_PASSWORD)
MONGODB_GRANT_ANYACTION_PRIVILEGE: true
PBM_AGENT_MONGODB_USERNAME: $(MONGODB_USER)
PBM_AGENT_MONGODB_PASSWORD: $(MONGODB_PASSWORD)
PBM_MONGODB_REPLICA_SET: $(KB_CLUSTER_COMP_NAME)
PBM_AGENT_SIDECAR: true
PBM_AGENT_SIDECAR_SLEEP: 5
PBM_MONGODB_URI: mongodb://$(PBM_AGENT_MONGODB_USERNAME):$(PBM_AGENT_MONGODB_PASSWORD)@localhost:$(KB_SERVICE_PORT)/?authSource=admin
KB_POD_FQDN: $(POD_NAME).$(CLUSTER_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc
DP_BACKUP_NAME: backup-default-mongodb-jmefeq-20260702105034
DP_TARGET_POD_NAME: mongodb-jmefeq-mongodb-1
DP_TARGET_POD_ROLE: secondary
DP_BACKUP_BASE_PATH: /default/mongodb-jmefeq-ae6062ed-fb76-4501-adcd-6a1d21402f45/mongodb/backup-default-mongodb-jmefeq-20260702105034
DP_BACKUP_INFO_FILE: /dp-manager/backup.info
DP_TTL:
DP_DB_HOST: mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless
DP_DB_PORT: 27017
DP_DB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DP_DB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DATA_DIR: /data/mongodb/db
IMAGE_TAG: 8.0.17
PARALLEL: 4
KB_CLUSTER_UID: ae6062ed-fb76-4501-adcd-6a1d21402f45
KB_CLUSTER_NAME: mongodb-jmefeq
KB_COMP_NAME: mongodb
KB_NAMESPACE: default
DP_DATASAFED_BIN_PATH: /bin/datasafed
DP_CHECK_INTERVAL: 5
Mounts:
/bin/datasafed from dp-datasafed-bin (rw)
/dp-manager from manager-shared-volume (rw)
/etc/datasafed from dp-datasafed-config (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-r69kz (ro)
Conditions:
Type Status
PodReadyToStartContainers False
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
manager-shared-volume:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
dp-datasafed-config:
Type: Secret (a volume populated by a Secret)
SecretName: tool-config-backuprepo-kbcli-test-bnfj2s
Optional: false
dp-datasafed-bin:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
kube-api-access-r69kz:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: kb-controller=true:NoSchedule
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 11m default-scheduler Successfully assigned default/dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf to 192.168.0.74
Normal Pulled 11m kubelet Container image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/datasafed:0.2.3" already present on machine
Normal Created 11m kubelet Created container dp-copy-datasafed
Normal Started 11m kubelet Started container dp-copy-datasafed
Normal Pulled 11m kubelet Container image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb:8.0.17" already present on machine
Normal Created 11m kubelet Created container backupdata
Normal Started 11m kubelet Started container backupdata
Normal Pulled 11m kubelet Container image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:1.1.0-beta.7" already present on machine
Normal Created 11m kubelet Created container manager
Normal Started 11m kubelet Started container manager
logs error pod
kubectl logs dp-backup-0-backup-default-mongodb-jmefeq-20260702105034-567dqf
Defaulted container "backupdata" out of: backupdata, manager, dp-copy-datasafed (init)
MongoServerSelectionError: Server at mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless:27017 reports maximum wire version 7, but this version of the Node.js Driver requires at least 8 (MongoDB 4.2)
date: invalid date '@'
2026-07-02T02:51:07.240+0000 writing admin.system.users to archive on stdout
2026-07-02T02:51:07.241+0000 done dumping admin.system.users (1 document)
2026-07-02T02:51:07.241+0000 writing admin.system.roles to archive on stdout
2026-07-02T02:51:07.246+0000 done dumping admin.system.roles (1 document)
2026-07-02T02:51:07.246+0000 writing admin.system.version to archive on stdout
2026-07-02T02:51:07.252+0000 done dumping admin.system.version (2 documents)
2026-07-02T02:51:07.252+0000 writing admin.pbmLog to archive on stdout
2026-07-02T02:51:07.252+0000 writing admin.msg to archive on stdout
2026-07-02T02:51:07.252+0000 writing admin.pbmAgents to archive on stdout
2026-07-02T02:51:07.252+0000 writing admin.pbmLockOp to archive on stdout
2026-07-02T02:51:07.253+0000 done dumping admin.pbmAgents (3 documents)
2026-07-02T02:51:07.253+0000 writing admin.pbmOpLog to archive on stdout
2026-07-02T02:51:07.254+0000 done dumping admin.pbmOpLog (0 documents)
2026-07-02T02:51:07.254+0000 writing admin.pbmPITRChunks to archive on stdout
2026-07-02T02:51:07.258+0000 done dumping admin.msg (16 documents)
2026-07-02T02:51:07.258+0000 writing admin.pbmBackups to archive on stdout
2026-07-02T02:51:07.258+0000 done dumping admin.pbmBackups (0 documents)
2026-07-02T02:51:07.258+0000 writing admin.pbmLock to archive on stdout
2026-07-02T02:51:07.259+0000 done dumping admin.pbmLockOp (0 documents)
2026-07-02T02:51:07.259+0000 writing admin.pbmCmd to archive on stdout
2026-07-02T02:51:07.259+0000 done dumping admin.pbmLog (54 documents)
2026-07-02T02:51:07.261+0000 done dumping admin.pbmPITRChunks (0 documents)
2026-07-02T02:51:07.265+0000 done dumping admin.pbmLock (0 documents)
2026-07-02T02:51:07.269+0000 done dumping admin.pbmCmd (0 documents)
2026-07-02T02:51:07.270+0000 writing captured oplog to
2026-07-02T02:51:07.275+0000 dumped 1 oplog entry
MongoServerSelectionError: Server at mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless:27017 reports maximum wire version 7, but this version of the Node.js Driver requires at least 8 (MongoDB 4.2)
date: invalid date '@'
- datafile backup
kbcli cluster backup mongodb-jmefeq --method datafile
- see error
kubectl get backup backup-default-mongodb-jmefeq-20260702110030
NAME POLICY METHOD REPO STATUS TOTAL-SIZE DURATION DELETION-POLICY CREATION-TIME COMPLETION-TIME EXPIRATION-TIME
backup-default-mongodb-jmefeq-20260702110030 mongodb-jmefeq-mongodb-backup-policy datafile backuprepo-kbcli-test Failed Delete 2026-07-02T03:00:30Z
➜ ~ kubectl get pod | grep mongodb-jmefeq-20260702110030
dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bg4s67 0/2 Completed 0 2m44s
dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bvd5rc 0/2 Completed 0 77s
dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn 0/2 Completed 0 4m32s
describe error pod
kubectl describe pod dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn
Name: dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn
Namespace: default
Priority: 0
Service Account: kubeblocks-dataprotection-worker
Node: 192.168.0.17/192.168.0.17
Start Time: Thu, 02 Jul 2026 11:00:30 +0800
Labels: app.kubernetes.io/instance=mongodb-jmefeq
app.kubernetes.io/managed-by=kubeblocks-dataprotection
batch.kubernetes.io/controller-uid=b38bb5b6-eb8d-48ba-9188-275ac11248a4
batch.kubernetes.io/job-name=dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-b61a9e
controller-uid=b38bb5b6-eb8d-48ba-9188-275ac11248a4
dataprotection.kubeblocks.io/backup-name=backup-default-mongodb-jmefeq-20260702110030
dataprotection.kubeblocks.io/backup-policy=mongodb-jmefeq-mongodb-backup-policy
dataprotection.kubeblocks.io/backup-repo-name=backuprepo-kbcli-test
dataprotection.kubeblocks.io/backup-type=Full
dataprotection.kubeblocks.io/cluster-uid=ae6062ed-fb76-4501-adcd-6a1d21402f45
job-name=dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-b61a9e
operations.kubeblocks.io/ops-name=backup-default-mongodb-jmefeq-20260702110030
operations.kubeblocks.io/ops-type=Backup
Annotations: vke.volcengine.com/cello-pod-evict-policy: allow
Status: Failed
IP: 192.168.0.71
IPs:
IP: 192.168.0.71
Controlled By: Job/dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-b61a9e
Init Containers:
dp-copy-datasafed:
Container ID: containerd://b689abe3058ce242a9e2269ada6772168c7bdf30ade5cf39033c150ae735b08e
Image: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/datasafed:0.2.3
Image ID: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/datasafed@sha256:7775e8184fbc833ee089b33427c4981bd7cd7d98cce5aeff1a9856b5de966b0f
Port: <none>
Host Port: <none>
Command:
/bin/sh
-c
/scripts/install-datasafed.sh /bin/datasafed
State: Terminated
Reason: Completed
Exit Code: 0
Started: Thu, 02 Jul 2026 11:00:32 +0800
Finished: Thu, 02 Jul 2026 11:00:32 +0800
Ready: True
Restart Count: 0
Limits:
cpu: 0
memory: 0
Requests:
cpu: 0
memory: 0
Environment: <none>
Mounts:
/bin/datasafed from dp-datasafed-bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-6h24q (ro)
Containers:
backupdata:
Container ID: containerd://e59099edfbcd6e713a0959d705f6adadeb44dc5af275d8ad523beb324ffce0a5
Image: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb:8.0.17
Image ID: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb@sha256:8698ffa8c0a3cb1902160e75599adb9d8b2e448e922a145fcf55915ef2fd556a
Port: <none>
Host Port: <none>
Command:
bash
-c
# Copyright ApeCloud Co., Ltd. All Rights Reserved.
# SPDX-License-Identifier: LicenseRef-KubeBlocks-Enterprise
# shellcheck disable=SC2148
function get_current_time() {
if [ -n "$(whereis mongosh | awk '{print $2}')" ]; then
CLIENT="mongosh"
else
CLIENT="mongo"
fi
curr_time=$(${CLIENT} -u ${DP_DB_USER} -p ${DP_DB_PASSWORD} --port ${DP_DB_PORT} --host ${DP_DB_HOST} --authenticationDatabase admin --eval 'db.isMaster().lastWrite.lastWriteDate.getTime()/1000' --quiet)
curr_time=$(date -d "@${curr_time}" -u '+%Y-%m-%dT%H:%M:%SZ')
echo $curr_time
}
function stat_and_save_backup_info() {
export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
START_TIME=$1
STOP_TIME=$2
if [ -z $STOP_TIME ]; then
STOP_TIME=$(get_current_time)
fi
TOTAL_SIZE=$(datasafed stat / | grep TotalSize | awk '{print $2}')
echo "{\"totalSize\":\"$TOTAL_SIZE\",\"timeRange\":{\"start\":\"${START_TIME}\",\"end\":\"${STOP_TIME}\"}}" >"${DP_BACKUP_INFO_FILE}"
}
# if the script exits with a non-zero exit code, touch a file to indicate that the backup failed,
# the sync progress container will check this file and exit if it exists
function handle_exit() {
exit_code=$?
if [ $exit_code -ne 0 ]; then
echo "failed with exit code $exit_code"
touch "${DP_BACKUP_INFO_FILE}.exit"
exit 1
fi
}
# Copyright ApeCloud Co., Ltd. All Rights Reserved.
# SPDX-License-Identifier: LicenseRef-KubeBlocks-Enterprise
set -o pipefail
export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
trap handle_exit EXIT
cd ${DATA_DIR}
START_TIME=$(get_current_time)
# TODO: flush data and locked write, otherwise data maybe inconsistent
# NOTE: if files changed during taring, the exit code will be 1 when it ends.
tar -cvf - ./ | datasafed push -z zstd-fastest - "${DP_BACKUP_NAME}.tar.zst"
rm -rf mongodb.backup
# stat and save the backup information
stat_and_save_backup_info "$START_TIME"
State: Terminated
Reason: Completed
Exit Code: 0
Started: Thu, 02 Jul 2026 11:01:03 +0800
Finished: Thu, 02 Jul 2026 11:02:03 +0800
Ready: False
Restart Count: 0
Limits:
cpu: 0
memory: 0
vke.volcengine.com/eni-ip: 1
Requests:
cpu: 0
memory: 0
vke.volcengine.com/eni-ip: 1
Environment Variables from:
mongodb-jmefeq-mongodb-env ConfigMap Optional: false
Environment:
MONGODB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
MONGODB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
POD_NAME: dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn (v1:metadata.name)
POD_NAMESPACE: default (v1:metadata.namespace)
POD_UID: (v1:metadata.uid)
POD_IP: (v1:status.podIP)
PATH: /tools/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KB_SERVICE_CHARACTER_TYPE: mongodb
SERVICE_PORT: $(KB_SERVICE_PORT)
MONGODB_ROOT_USER: $(MONGODB_USER)
MONGODB_ROOT_PASSWORD: $(MONGODB_PASSWORD)
MONGODB_GRANT_ANYACTION_PRIVILEGE: true
PBM_AGENT_MONGODB_USERNAME: $(MONGODB_USER)
PBM_AGENT_MONGODB_PASSWORD: $(MONGODB_PASSWORD)
PBM_MONGODB_REPLICA_SET: $(KB_CLUSTER_COMP_NAME)
PBM_AGENT_SIDECAR: true
PBM_AGENT_SIDECAR_SLEEP: 5
PBM_MONGODB_URI: mongodb://$(PBM_AGENT_MONGODB_USERNAME):$(PBM_AGENT_MONGODB_PASSWORD)@localhost:$(KB_SERVICE_PORT)/?authSource=admin
KB_POD_FQDN: $(POD_NAME).$(CLUSTER_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc
DP_BACKUP_NAME: backup-default-mongodb-jmefeq-20260702110030
DP_TARGET_POD_NAME: mongodb-jmefeq-mongodb-1
DP_TARGET_POD_ROLE: secondary
DP_BACKUP_BASE_PATH: /default/mongodb-jmefeq-ae6062ed-fb76-4501-adcd-6a1d21402f45/mongodb/backup-default-mongodb-jmefeq-20260702110030
DP_BACKUP_INFO_FILE: /dp-manager/backup.info
DP_TTL:
DP_DB_HOST: mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless
DP_DB_PORT: 27017
DP_DB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DP_DB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DATA_DIR: /data/mongodb/db
KB_CLUSTER_UID: ae6062ed-fb76-4501-adcd-6a1d21402f45
KB_CLUSTER_NAME: mongodb-jmefeq
KB_COMP_NAME: mongodb
KB_NAMESPACE: default
DP_DATASAFED_BIN_PATH: /bin/datasafed
Mounts:
/bin/datasafed from dp-datasafed-bin (rw)
/data/mongodb from data (rw)
/dp-manager from manager-shared-volume (rw)
/etc/datasafed from dp-datasafed-config (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-6h24q (ro)
manager:
Container ID: containerd://86ea68879160c8ce817b904d59f3939a05a32006d1538b8aced5ad7e25cde8d8
Image: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:1.1.0-beta.7
Image ID: apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools@sha256:48e68f1c3ab044a5eec6acc637937ae1301f0b74a4109b28a0bfe7ad500b8b26
Port: <none>
Host Port: <none>
Command:
sh
-c
Args:
set -o errexit
set -o nounset
export PATH="$PATH:$DP_DATASAFED_BIN_PATH"
export DATASAFED_BACKEND_BASE_PATH="$DP_BACKUP_BASE_PATH"
backup_info_file="${DP_BACKUP_INFO_FILE}"
sleep_seconds="${DP_CHECK_INTERVAL}"
namespace="default"
backup_name="backup-default-mongodb-jmefeq-20260702110030"
if [ "$sleep_seconds" -le 0 ]; then
sleep_seconds=30
fi
exit_file="${backup_info_file}.exit"
while true; do
if [ -f "$exit_file" ]; then
echo "exit file $exit_file exists, exit"
exit 1
fi
if [ -f "$backup_info_file" ]; then
break
fi
echo "backup info file not exists, wait for ${sleep_seconds}s"
sleep "$sleep_seconds"
done
backup_info=$(cat "$backup_info_file")
echo "backupInfo:${backup_info}"
status="{\"status\":${backup_info}}"
kubectl -n "$namespace" patch backups.dataprotection.kubeblocks.io "$backup_name" --subresource=status --type=merge --patch "${status}"
# save the backup CR object to the backup repo
kubectl -n "$namespace" get backups.dataprotection.kubeblocks.io "$backup_name" -o json | datasafed push - "/kubeblocks-backup.json"
State: Terminated
Reason: Error
Exit Code: 1
Started: Thu, 02 Jul 2026 11:01:03 +0800
Finished: Thu, 02 Jul 2026 11:02:08 +0800
Ready: False
Restart Count: 0
Limits:
cpu: 0
memory: 0
Requests:
cpu: 0
memory: 0
Environment Variables from:
mongodb-jmefeq-mongodb-env ConfigMap Optional: false
Environment:
MONGODB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
MONGODB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
POD_NAME: dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn (v1:metadata.name)
POD_NAMESPACE: default (v1:metadata.namespace)
POD_UID: (v1:metadata.uid)
POD_IP: (v1:status.podIP)
PATH: /tools/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
KB_SERVICE_CHARACTER_TYPE: mongodb
SERVICE_PORT: $(KB_SERVICE_PORT)
MONGODB_ROOT_USER: $(MONGODB_USER)
MONGODB_ROOT_PASSWORD: $(MONGODB_PASSWORD)
MONGODB_GRANT_ANYACTION_PRIVILEGE: true
PBM_AGENT_MONGODB_USERNAME: $(MONGODB_USER)
PBM_AGENT_MONGODB_PASSWORD: $(MONGODB_PASSWORD)
PBM_MONGODB_REPLICA_SET: $(KB_CLUSTER_COMP_NAME)
PBM_AGENT_SIDECAR: true
PBM_AGENT_SIDECAR_SLEEP: 5
PBM_MONGODB_URI: mongodb://$(PBM_AGENT_MONGODB_USERNAME):$(PBM_AGENT_MONGODB_PASSWORD)@localhost:$(KB_SERVICE_PORT)/?authSource=admin
KB_POD_FQDN: $(POD_NAME).$(CLUSTER_COMPONENT_NAME)-headless.$(CLUSTER_NAMESPACE).svc
DP_BACKUP_NAME: backup-default-mongodb-jmefeq-20260702110030
DP_TARGET_POD_NAME: mongodb-jmefeq-mongodb-1
DP_TARGET_POD_ROLE: secondary
DP_BACKUP_BASE_PATH: /default/mongodb-jmefeq-ae6062ed-fb76-4501-adcd-6a1d21402f45/mongodb/backup-default-mongodb-jmefeq-20260702110030
DP_BACKUP_INFO_FILE: /dp-manager/backup.info
DP_TTL:
DP_DB_HOST: mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless
DP_DB_PORT: 27017
DP_DB_PASSWORD: <set to the key 'password' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DP_DB_USER: <set to the key 'username' in secret 'mongodb-jmefeq-mongodb-account-root'> Optional: false
DATA_DIR: /data/mongodb/db
KB_CLUSTER_UID: ae6062ed-fb76-4501-adcd-6a1d21402f45
KB_CLUSTER_NAME: mongodb-jmefeq
KB_COMP_NAME: mongodb
KB_NAMESPACE: default
DP_DATASAFED_BIN_PATH: /bin/datasafed
DP_CHECK_INTERVAL: 5
Mounts:
/bin/datasafed from dp-datasafed-bin (rw)
/data/mongodb from data (rw)
/dp-manager from manager-shared-volume (rw)
/etc/datasafed from dp-datasafed-config (ro)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-6h24q (ro)
Conditions:
Type Status
PodReadyToStartContainers False
Initialized True
Ready False
ContainersReady False
PodScheduled True
Volumes:
manager-shared-volume:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: data-mongodb-jmefeq-mongodb-1
ReadOnly: false
dp-datasafed-config:
Type: Secret (a volume populated by a Secret)
SecretName: tool-config-backuprepo-kbcli-test-bnfj2s
Optional: false
dp-datasafed-bin:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
kube-api-access-6h24q:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: kubernetes.io/hostname=192.168.0.17
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 5m5s default-scheduler Successfully assigned default/dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn to 192.168.0.17
Normal Pulled 5m5s kubelet Container image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/datasafed:0.2.3" already present on machine
Normal Created 5m5s kubelet Created container dp-copy-datasafed
Normal Started 5m4s kubelet Started container dp-copy-datasafed
Normal Pulling 5m4s kubelet Pulling image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb:8.0.17"
Normal Pulled 4m34s kubelet Successfully pulled image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/percona-server-mongodb:8.0.17" in 30.694s (30.694s including waiting). Image size: 313855316 bytes.
Normal Created 4m33s kubelet Created container backupdata
Normal Started 4m33s kubelet Started container backupdata
Normal Pulled 4m33s kubelet Container image "apecloud-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:1.1.0-beta.7" already present on machine
Normal Created 4m33s kubelet Created container manager
Normal Started 4m33s kubelet Started container manager
logs error pod
➜ ~ kubectl logs dp-backup-0-backup-default-mongodb-jmefeq-20260702110030-bxdfhn
Defaulted container "backupdata" out of: backupdata, manager, dp-copy-datasafed (init)
MongoServerSelectionError: Server at mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless:27017 reports maximum wire version 7, but this version of the Node.js Driver requires at least 8 (MongoDB 4.2)
date: invalid date '@'
./
./mongod.lock
./WiredTiger.lock
./WiredTigerLAS.wt
./WiredTiger.turtle
./storage.bson
./admin/
./admin/index-32-2347884587086261961.wt
./admin/index-37-2347884587086261961.wt
./admin/collection-28-2347884587086261961.wt
./admin/index-55-2347884587086261961.wt
./admin/index-51-2347884587086261961.wt
./admin/index-26-2347884587086261961.wt
./admin/index-46-2347884587086261961.wt
./admin/collection-38-2347884587086261961.wt
./admin/collection-52-2347884587086261961.wt
./admin/index-30-2347884587086261961.wt
./admin/index-34-2347884587086261961.wt
./admin/index-47-2347884587086261961.wt
./admin/index-45-2347884587086261961.wt
./admin/index-24-2347884587086261961.wt
./admin/collection-23-2347884587086261961.wt
./admin/index-42-2347884587086261961.wt
./admin/collection-33-2347884587086261961.wt
./admin/index-39-2347884587086261961.wt
./admin/index-36-2347884587086261961.wt
./admin/index-27-2347884587086261961.wt
./admin/index-43-2347884587086261961.wt
./admin/collection-48-2347884587086261961.wt
./admin/index-40-2347884587086261961.wt
./admin/collection-44-2347884587086261961.wt
./admin/index-29-2347884587086261961.wt
./admin/collection-31-2347884587086261961.wt
./admin/collection-54-2347884587086261961.wt
./admin/collection-25-2347884587086261961.wt
./admin/index-18-2347884587086261961.wt
./admin/collection-35-2347884587086261961.wt
./admin/index-53-2347884587086261961.wt
./admin/index-49-2347884587086261961.wt
./admin/index-50-2347884587086261961.wt
./admin/collection-17-2347884587086261961.wt
./admin/collection-41-2347884587086261961.wt
./_mdb_catalog.wt
./diagnostic.data/
./diagnostic.data/metrics.2026-07-02T02-49-19Z-00000
./diagnostic.data/metrics.interim
./WiredTiger
./local/
./local/collection-16-2347884587086261961.wt
./local/index-7-2347884587086261961.wt
./local/collection-2-2347884587086261961.wt
./local/index-1-2347884587086261961.wt
./local/index-9-2347884587086261961.wt
./local/index-5-2347884587086261961.wt
./local/collection-8-2347884587086261961.wt
./local/collection-6-2347884587086261961.wt
./local/index-11-2347884587086261961.wt
./local/collection-0-2347884587086261961.wt
./local/collection-10-2347884587086261961.wt
./local/collection-4-2347884587086261961.wt
2026/07/02 03:01:33 NOTICE: S3 bucket kbcli-test: Streaming uploads using chunk size 50Mi will have maximum file size of 488.281Gi
./local/index-3-2347884587086261961.wt
./config/
./config/collection-21-2347884587086261961.wt
./config/collection-19-2347884587086261961.wt
./config/index-20-2347884587086261961.wt
./config/index-57-2347884587086261961.wt
./config/collection-56-2347884587086261961.wt
./config/index-58-2347884587086261961.wt
./config/index-22-2347884587086261961.wt
./journal/
./journal/WiredTigerPreplog.0000000002
./journal/WiredTigerLog.0000000001
./journal/WiredTigerPreplog.0000000001
./WiredTiger.wt
./sizeStorer.wt
MongoServerSelectionError: Server at mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless:27017 reports maximum wire version 7, but this version of the Node.js Driver requires at least 8 (MongoDB 4.2)
date: invalid date '@'
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
Additional context
Add any other context about the problem here.
Describe the bug
2026-07-02T02:51:07.275+0000 dumped 1 oplog entry
MongoServerSelectionError: Server at mongodb-jmefeq-mongodb-1.mongodb-jmefeq-mongodb-headless:27017 reports maximum wire version 7, but this version of the Node.js Driver requires at least 8 (MongoDB 4.2)
date: invalid date '@'
To Reproduce
Steps to reproduce the behavior:
describe error pod backup use apecloud/percona-server-mongodb:8.0.17
logs error pod
describe error pod
logs error pod
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context
Add any other context about the problem here.