Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: A header you provided implies functionality that is not implemented #461

Open
553589912 opened this issue Nov 13, 2024 · 1 comment

Comments

@553589912
Copy link

Current Behavior

我用milvus-backup 备份的时候, 发生了意想不到的错误, 公司使用的是JuiceFS 作为外接对象存储替代minio 兼容s3 协议,麻烦帮看看是哪里的问题 ,备份的也是放在JuiceFS 上

Expected Behavior

(py3.11) [milvus-backup]# ./milvus-backup check
0.4.15 (Built on 2024-06-14T03:35:14Z from Git SHA 161a593)
config:backup.yaml
[2024/11/13 21:22:40.415 +08:00] [INFO] [logutil/logutil.go:165] ["Log directory"] [configDir=]
[2024/11/13 21:22:40.415 +08:00] [INFO] [logutil/logutil.go:166] ["Set log file to "] [path=logs/backup.log]
[2024/11/13 21:22:40.475 +08:00] [INFO] [storage/minio_chunk_manager.go:151] ["minio chunk manager init success."] [bucketname=ak-backup-gen] [root=file]
[2024/11/13 21:22:40.671 +08:00] [ERROR] [storage/minio_chunk_manager.go:450] ["copyObject error"] [srcObjectKey="file/milvus_backup_check_2024-11-13 21:22:40.615170824 +0800 CST m=+0.236851394"] [dstObjectKey="backup/milvus_backup_check_2024-11-13 21:22:40.615170824 +0800 CST m=+0.236851394"] [error="A header you provided implies functionality that is not implemented"] [stack="github.com/zilliztech/milvus-backup/core/storage.(*MinioChunkManager).Copy\n\t/home/runner/work/milvus-backup/milvus-backup/core/storage/minio_chunk_manager.go:450\ngithub.com/zilliztech/milvus-backup/core.(*BackupContext).Check\n\t/home/runner/work/milvus-backup/milvus-backup/core/backup_context.go:567\ngithub.com/zilliztech/milvus-backup/cmd.glob..func2\n\t/home/runner/work/milvus-backup/milvus-backup/cmd/check.go:25\ngithub.com/spf13/cobra.(*Command).execute\n\t/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:876\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\t/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:990\ngithub.com/spf13/cobra.(*Command).Execute\n\t/home/runner/go/pkg/mod/github.com/spf13/[email protected]/command.go:918\ngithub.com/zilliztech/milvus-backup/cmd.Execute\n\t/home/runner/work/milvus-backup/milvus-backup/cmd/root.go:35\nmain.main\n\t/home/runner/work/milvus-backup/milvus-backup/main.go:24\nruntime.main\n\t/opt/hostedtoolcache/go/1.18.10/x64/src/runtime/proc.go:250"]
Failed to copy file from milvus storage to backup storage
Milvus version: v2.4.11
Storage:
milvus-bucket: cc-ba-cloudbase-ak
milvus-rootpath: file
backup-bucket: ac-backup-gen
backup-rootpath: backup
A header you provided implies functionality that is not implemented

Steps To Reproduce

No response

Environment

# Configures the system log output.
log:
  level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
  console: true # whether print log to console
  file:
    rootPath: "logs/backup.log"

http:
  simpleResponse: true

# milvus proxy address, compatible to milvus.yaml
milvus:
  address: milvusip
  port: 19530
  authorizationEnabled: false
  # tls mode values [0, 1, 2]
  # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
  tlsMode: 0
  user: "root"
  password: "Milvus"

# Related configuration of minio, which is responsible for data persistence for Milvus.
minio:
  # Milvus storage configs, make them the same with milvus config
  storageType: "s3" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent)
  address: s3域名 # Address of MinIO/S3
  port: 80   # Port of MinIO/S3
  accessKeyID: admin  # accessKeyID of MinIO/S3
  secretAccessKey: admin # MinIO/S3 encryption string
  useSSL: false # Access to MinIO/S3 with SSL
  useIAM: false
  iamEndpoint: ""
  bucketName: "c3-b2c-cloudbase-ak"  # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
  rootPath: "file" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance

  # Backup storage configs, the storage you want to put the backup data
  backupStorageType: "s3" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent)
  backupAddress: s3域名  # Address of MinIO/S3
  backupPort: 80   # Port of MinIO/S3
  backupAccessKeyID: admin  # accessKeyID of MinIO/S3
  backupSecretAccessKey: admin # MinIO/S3 encryption string
  backupBucketName: "ak-backup-gen" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath
  backupRootPath: "backup" # Rootpath to store backup data. Backup data will store to backupBucketName/backupRootPath

  # If you need to back up or restore data between two different storage systems, direct client-side copying is not supported.
  # Set this option to true to enable data transfer through Milvus Backup.
  # Note: This option will be automatically set to true if `minio.storageType` and `minio.backupStorageType` differ.
  # However, if they are the same but belong to different services, you must manually set this option to `true`.
  crossStorage: "false"

backup:
  maxSegmentGroupSize: 2G

  parallelism:
    # collection level parallelism to backup
    backupCollection: 4
    # thread pool to copy data. reduce it if blocks your storage's network bandwidth
    copydata: 128
    # Collection level parallelism to restore
    restoreCollection: 2

  # keep temporary files during restore, only use to debug
  keepTempFiles: false

  # Pause GC during backup through Milvus Http API.
  gcPause:
    enable: true
    seconds: 7200
    address: http://milvusip:9091

Anything else?

No response

@huanghaoyuanhhy
Copy link
Collaborator

感谢反馈。
不是很确定你们的架构是怎么样的,感觉像是 JuiceFS 或者 JuiceFS 下层存储的问题。或许可以参考这个 issue 里的办法。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants