On Wed, 22 Mar 2023, at 10:21, Alessandro Boem wrote:
>
> These are the messages of both commands:
>
> root@srvorg06:~# /usr/bin/fsck.s3ql s3c://r1-it.storage.cloud.it/bdrive
> --authfile=/etc/s3ql.authinfo --cachedir=/var/cache/s3ql/bdrive/
> ERROR: Uncaught top-level exception:
> Traceback (most recent call last):
> File "/usr/lib/s3ql/s3ql/common.py", line 323, in get_backend_factory
> tmp_backend.fetch('s3ql_metadata')
> File "/usr/lib/s3ql/s3ql/backends/common.py", line 293, in fetch
> return self.perform_read(do_read, key)
> File "/usr/lib/s3ql/s3ql/backends/common.py", line 108, in wrapped
> return method(*a, **kw)
> File "/usr/lib/s3ql/s3ql/backends/common.py", line 256, in perform_read
> fh = self.open_read(key)
> File "/usr/lib/s3ql/s3ql/backends/comprenc.py", line 194, in open_read
> fh = self.backend.open_read(key)
> File "/usr/lib/s3ql/s3ql/backends/common.py", line 108, in wrapped
> return method(*a, **kw)
> File "/usr/lib/s3ql/s3ql/backends/s3c.py", line 325, in open_read
> meta = self._extractmeta(resp, key)
> File "/usr/lib/s3ql/s3ql/backends/s3c.py", line 713, in _extractmeta
> raise CorruptedObjectError('Invalid metadata format: %s' % format_)
> s3ql.backends.common.CorruptedObjectError: Invalid metadata format: raw
>
Ah, this makes more sense. I'm afraid it also further supports my initial
theory though. The s3ql_metadata object has been created with an ancient S3QL
version that recent versions cannot read.
Are you absolutely sure about the versions that you have used?
Support for the 'raw' format was removed in 2015(!):
https://github.com/s3ql/s3ql/commit/21099c8d#diff-560f3a3e7f1fbe96dfff8f4d3b52c3eebd2aee0c8336b21f90b42fc10d768040L712
If you can confirm that you've actually used such an old S3QL version before,
then it's safe to just upgrade step-by-step (the old releases are available on
the Github releases page).
If you are sure that you have been using a newer version successfully, with
this backend, then I'm afraid I'm at my wits end. I do not know how you could
possibly end up with such an old metadata object, and I therefore also have no
real idea how to recover from it. You could comment out everything that
attempts to use remote data (starting from line 713 of s3c.py) and thereby
force S3QL to use the cached data, but I have no idea if that will help or make
things worse (since I'm also not sure about the format of the locally cached
data).
Best,
-Nikolaus
--
GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F
»Time flies like an arrow, fruit flies like a Banana.«
--
You received this message because you are subscribed to the Google Groups
"s3ql" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/s3ql/582f4646-9519-4967-8ee7-397ed636a4af%40app.fastmail.com.