Restic: pohon e5457a72: file "XX": ukuran metadata (8770356) dan jumlah ukuran blob (8770808) tidak cocok

Dibuat pada 22 Mei 2018  ·  5Komentar  ·  Sumber: restic/restic

Hai,

Baru saja memperbarui ke restic 0.9 dan menemukan bahwa restic sekarang melaporkan kesalahan untuk repo saya yang ada (itu ok dengan 0.8.3 dan tidak berubah setelah peningkatan):

error for tree e5457a72: tree e5457a72: file "mail.err": metadata size (1085858) and sum of blob sizes (1085966) do not match tree e5457a72: file "mail.info": metadata size (8770356) and sum of blob sizes (8770808) do not match tree e5457a72: file "mail.log": metadata size (8770356) and sum of blob sizes (8770808) do not match tree e5457a72: file "mail.warn": metadata size (1091226) and sum of blob sizes (1091334) do not match
Mungkin file diubah saat pencadangan sedang berjalan.

Keluaran restic version

restic 0.9.0 compiled with go1.10.2 on linux/amd64

Bagaimana tepatnya Anda menjalankan restic?

restic check

Backend / server / layanan apa yang Anda gunakan untuk menyimpan repositori?

direktori lokal dan rest-server

Perilaku yang diharapkan

Saya mengerti bahwa restic tidak dapat melakukan apa pun untuk memastikan pencadangan konsisten (misalnya bahwa beberapa file dependen memiliki konten yang sesuai).

Tapi saya cukup yakin bahwa restic harus memastikan repositori sendiri konsisten dalam kasus seperti itu (metadata repositori harus cocok dengan data repositori). Jika ada sesuatu yang ditambahkan ke file setelah stat dipanggil, tetapi sebelum seluruh file dibaca, mungkin restic harus membaca hanya sampai ukuran file yang diharapkan, atau hanya memperbarui metadata dengan jumlah byte yang benar-benar dibaca.

PS. Mungkin masalah ini telah diperbaiki pada 0.9 dan ini tidak akan terjadi untuk snapshot baru.
Tapi sayangnya restic rebuild-index tidak memperbaikinya.

0.9.0 bug

Komentar yang paling membantu

Saya setuju, ini harus berupa peringatan atau tidak ditampilkan sama sekali. Tidak ada yang dapat (atau perlu) dilakukan pengguna.

Ini adalah bug di kode pengarsipan lama, yang menulis ukuran yang salah ke repo ketika file ditambahkan saat restic sedang membacanya. Pengarsip baru tidak melakukan itu, dan semua fungsi lainnya akan berfungsi dengan baik (mereka hanya menggunakan ukuran yang benar, jumlah potongan file).

Semua 5 komentar

Saya baru saja akan membuka masalah yang sama persis dengan Anda @dionorgua , Anda memukul saya hingga 11 menit. : +1:

Memiliki kesalahan yang sama dalam repo saya (lihat di bawah), dan berbagi perasaan bahwa ini seharusnya tidak kesalahan, dan restic harus menanganinya dengan anggun. Tidak ada perangkat lunak pencadangan yang dapat dilakukan terhadap file yang berubah di bawahnya, selain peringatan bahwa itu terjadi selama proses pencadangan. Tapi nanti, ketika check dijalankan, ini seharusnya tidak error, atau bahkan dilaporkan lagi?

Hasil pemeriksaan v0.9.0 dijalankan pada repo di mana v0.8.3 tidak melaporkan kesalahan apa pun.

check snapshots, trees and blobs
error for tree c1c7286d:
  tree c1c7286d: file "panacea.dat": metadata size (5975885) and sum of blob sizes (5975910) do not match
error for tree 5908dec5:
  tree 5908dec5: file "panacea.dat": metadata size (5425341) and sum of blob sizes (5425366) do not match
Fatal: repository contains errors

Saya setuju, ini harus berupa peringatan atau tidak ditampilkan sama sekali. Tidak ada yang dapat (atau perlu) dilakukan pengguna.

Ini adalah bug di kode pengarsipan lama, yang menulis ukuran yang salah ke repo ketika file ditambahkan saat restic sedang membacanya. Pengarsip baru tidak melakukan itu, dan semua fungsi lainnya akan berfungsi dengan baik (mereka hanya menggunakan ukuran yang benar, jumlah potongan file).

Bagaimana seseorang menangani masalah ini? Ini menyebabkan pemeriksaan otomatis mingguan saya gagal di beberapa repo cadangan saya.

Ini adalah hasil dari "restic check" - saya melakukannya melalui image buruh pelabuhan restic.

...
Digest: sha256:9c851e0ba8a9c20ef853ee507af14c4d87c33661c25136262e97506a1cdc7a57
Status: Image is up to date for restic/restic:latest
ID        Date                 Host              Tags        Directory
----------------------------------------------------------------------
8eb0175e  2018-02-28 21:01:38  internal-cluster              /fisheye
a7848682  2018-03-31 09:28:09  internal-cluster              /fisheye
8ad27273  2018-04-30 09:28:09  internal-cluster              /fisheye
97d2e914  2018-05-31 09:28:12  internal-cluster              /fisheye
96ba1cc7  2018-06-30 09:28:13  internal-cluster              /fisheye
23ef9a4b  2018-07-08 09:28:11  internal-cluster              /fisheye
76f8e70a  2018-07-09 09:28:12  internal-cluster              /fisheye
74d46da4  2018-07-10 09:28:14  internal-cluster              /fisheye
a893de2c  2018-07-11 09:28:12  internal-cluster              /fisheye
7dbeb6c0  2018-07-12 09:28:13  internal-cluster              /fisheye
8df2f318  2018-07-13 09:28:11  internal-cluster              /fisheye
e7321bf1  2018-07-14 09:28:13  internal-cluster              /fisheye
----------------------------------------------------------------------
12 snapshots
+ restic check
+ sudo -E docker run --rm -e AWS_ACCESS_KEY_ID=**** -e AWS_SECRET_ACCESS_KEY=**** -e RESTIC_PASSWORD=**** -v /mnt/efs/fisheye:/fisheye:ro -h internal-cluster --user root restic/restic -r s3:s3.amazonaws.com/redacted/restic/fisheye check
using temporary cache in /tmp/restic-check-cache-069761908
create exclusive lock for repository
load indexes
check all packs
check snapshots, trees and blobs
error for tree d93db471:
  tree d93db471: file "atlassian-fisheye-2018-07-13.log": metadata size (52139444) and sum of blob sizes (52165018) do not match
error for tree 8d1b1f5f:
  tree 8d1b1f5f: file "atlassian-fisheye-2018-04-30.log": metadata size (53418588) and sum of blob sizes (53426968) do not match
Fatal: repository contains errors

Itu pertanyaan yang bagus! Semua repo saya, kecuali satu, dalam kesalahan sekarang ... memikirkan untuk menonaktifkan semua tahap pemeriksaan, tetapi sekali lagi, itu dulu dan akan menjadi cara yang baik untuk mendeteksi kemungkinan regresi di masa mendatang. Sulit untuk mengatakan apa cara terbaik untuk maju ...

@ fd0 , ini bug yang cukup serius, apakah ada solusi untuk membuat repo diam lagi?

Maaf untuk itu, saya telah menonaktifkan cek di # 1887. Anda dapat memilih komit jika Anda suka.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

RafaelAybar picture RafaelAybar  ·  3Komentar

fd0 picture fd0  ·  4Komentar

christian-vent picture christian-vent  ·  3Komentar

stevesbrain picture stevesbrain  ·  3Komentar

viric picture viric  ·  5Komentar