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.

Reply via email to