backup: correct the target_not_empty rule, the store root ancestor rule and a remove-target pointer

Đang mở Phù hợp với người mới
#942 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 5 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
76/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
rust
Lĩnh vực
documentation

Hướng nghiên cứu

Đọc các phần được dẫn trong docs/manuals/05-admin-guide.md và docs/manuals/14-backup-and-restore.md, sau đó đối chiếu chúng với các quy tắc được xác định trong crates/engine/src/backup/reconciler.rs, crates/engine/src/backup/maintenance.rs, crates/app/src/cmd_backup.rs, crates/backup-store/src/fs.rs và crates/server/src/backup_store.rs. Cập nhật hướng dẫn không chính xác về khôi phục, quyền thư mục và việc xóa đích; hoàn tất khi các tài liệu hướng dẫn và nội dung mô-đun khớp với hành vi mã được mô tả và trỏ đến mục [backup.store] trong hướng dẫn quản trị.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

documentation

Some backup texts on main state rules that the code does not follow. #897 makes the same corrections in the upgrade manual.

When a restore fails as target_not_empty

The reconciler fails a store-backed restore with no recorded progress as target_not_empty only when the target holds more items than the backup's item_count (exceeds_backup_total in crates/engine/src/backup/reconciler.rs). At or below that count, the takeover arm resumes the restore and applies the first data file again. While a backup command holds the maintenance claim, the reconciler fails such a restore as OWNER_DEAD and removes its target.

These texts say otherwise:

  • crates/engine/src/backup/maintenance.rs, module doc, lines 39 to 43: on MongoDB and Cassandra, a crash before the first progress record ends in target_not_empty.
  • crates/app/src/cmd_backup.rs, module doc, lines 118 to 121: the same claim.
  • crates/app/src/cmd_backup.rs lines 76 to 78: a record with no recorded progress over a target that holds items fails as target_not_empty. The code requires more items than the backup holds.
  • crates/engine/src/backup/reconciler.rs lines 71 to 74 and 822 to 824: the same statement.
The directories above a filesystem root

crates/backup-store/src/fs.rs refuses an ancestor directory that group or others can write to, unless the directory carries the sticky bit. These texts name only others and leave out the sticky bit:

  • docs/manuals/05-admin-guide.md line 168: "sit under directories owned by root or that user which others cannot write to".
  • The default-root warning in crates/server/src/backup_store.rs (warn_default_root_unusable): "under directories owned by root or this user that others cannot write to".

docs/manuals/14-backup-and-restore.md states the rule as the code applies it.

The remove-target pointer

docs/manuals/14-backup-and-restore.md lines 479 and 480 send the reader to "the admin guide's backup section" for extenddb backup remove-target. The admin guide has no such section. It describes the command in its [backup.store] section.

Ngôn ngữ chính
Rust
Star
517
Fork
60
Merge trung bình
5 ngày 21 giờ
Pull request đã merge (30 ngày)
110

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ExtendDB/extenddb

Tất cả issue của ExtendDB/extenddb

Issue tương tự

Thêm issue về Rust

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.