You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have rather large number of PX volumes (about 20K) and associated cloud snapshots.
We have to generate weekly reports for the status of newly performed cloud snapshots. The PX volumes are created on demand. We do not use PX schedules to backup volumes and only back them up as needed (if a volume was updated).
The gRPC backupClient.EnumerateWithFilters call works but it takes hours to get all the snapshots and select ones which are in the date range.
What you expected to happen:
Given the date range we need some way to quickly select cloud snapshots.
How to reproduce it (as minimally and precisely as possible):
// Get the first batch and maybe that is itenumerateResponse, err=backupClient.EnumerateWithFilters(context.Background(),
&api.SdkCloudBackupEnumerateWithFiltersRequest{
CredentialId: credentialId,
})
iferr!=nil {
gerr, _:=status.FromError(err)
returnfmt.Errorf("Error Code[%d] Message[%s]\n", gerr.Code(), gerr.Message())
}
logger.Info("Received the first backup batch")
for_, info:=rangeenumerateResponse.Backups {
backup:=&BackupInfo{SdkCloudBackupInfo: info}
ifdateRange.In(backup.Timestamp) {
logger.Info("Adding backup %s for the further processing", backup.Timestamp.String())
backupInfos=append(backupInfos, backup)
} else {
logger.Info("The backup %s is not in the date range", backup.Timestamp.String())
}
}
// Continue, if we have more items to fetch...forlen(enumerateResponse.ContinuationToken) >0 {
logger.Info("Retrieving the next chunk using continuation token %s", enumerateResponse.ContinuationToken)
enumerateResponse, err=backupClient.EnumerateWithFilters(context.Background(),
&api.SdkCloudBackupEnumerateWithFiltersRequest{
CredentialId: credentialId,
})
iferr!=nil {
gerr, _:=status.FromError(err)
returnfmt.Errorf("Error Code[%d] Message[%s]\n", gerr.Code(), gerr.Message())
}
for_, info:=rangeenumerateResponse.Backups {
backup:=&BackupInfo{SdkCloudBackupInfo: info}
ifdateRange.In(backup.Timestamp) {
logger.Info("Adding backup %s for the further processing", backup.Timestamp.String())
backupInfos=append(backupInfos, backup)
} else {
logger.Info("The backup %s is not in the date range", backup.Timestamp.String())
}
}
}
logger.Info("Collected %d the backups of interest", len(backupInfos))
Anything else we need to know?:
Environment:
Container Orchestrator and version: PX 2.8
Cloud provider or hardware configuration: IBM Cloud Kubernetes 1.22
OS (e.g. from /etc/os-release):
NAME="Red Hat Enterprise Linux"
VERSION="8.4 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.4"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.4 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.4:GA"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://access.redhat.com/documentation/red_hat_enterprise_linux/8/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.4
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.4"
Kernel (e.g. uname -a)
Linux XXX 4.15.0-159-generic #167-Ubuntu SMP Tue Sep 21 08:55:05 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Is this a BUG REPORT or FEATURE REQUEST?:
Feature Request
What happened:
We have rather large number of PX volumes (about 20K) and associated cloud snapshots.
We have to generate weekly reports for the status of newly performed cloud snapshots. The PX volumes are created on demand. We do not use PX schedules to backup volumes and only back them up as needed (if a volume was updated).
The gRPC
backupClient.EnumerateWithFilters
call works but it takes hours to get all the snapshots and select ones which are in the date range.What you expected to happen:
Given the date range we need some way to quickly select cloud snapshots.
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:
uname -a
)The text was updated successfully, but these errors were encountered: