Open ch9hn opened 3 months ago
@ch9hn to be sure, this is not happening on AWS but on Scaleway right?
Hello, we tested it with another service like Cubbit https://www.cubbit.io/ and it works with that.
@ch9hn seems to me that this is a compatibility issue on the Scaleway side. Barman uses Boto3 lib to connect to Amazon s3 or s3-compatible services, as you noticed some behave on their side exactly as s3, like the one you mentioned (cubbit.io) but also others like Wasabi, Tebi.io etc...
Some others like Scaleway have a different behavior on their side to certain calls, so they are not fully compatible.
I went through the wal-archive code and Barman doesn't do anything specific or strange:
Somehow during this sequence of actions, on the Scaleway side an empty file with the same name as the server name (at least this I can see on your images) is created, disrupting the upload in the correct directory.
here is the call chain:
upload_wal
method: https://github.com/EnterpriseDB/barman/blob/3487452483cc9611e0c84811fffca428ff5cb04b/barman/clients/cloud_walarchive.py#L104 upload_wal
method reads the WAL and prepares the destination path. the upload is then executed by the service-specific class (s3 in this case): https://github.com/EnterpriseDB/barman/blob/3487452483cc9611e0c84811fffca428ff5cb04b/barman/clients/cloud_walarchive.py#L239Seems to me that Scaleway handles the upload path differently from Amazon s3.
Please note that Barman officially supports Amazon s3 only and is not possible for us to test Barman on all the s3-compatible services (that are, unfortunately, a lot).
Thank you very much for that extensive explaination. Really appreciate it. We will check with our provider.
Update: We opened a ticket at Scaleway and they are investigating it. As its a really common library, we will escalate this further so that it works.
cc: @ivanwel
We are running into an issue with the archiving of WAL files with cloudnative-pg. In the very beginning Barman writes WAL files to the S3 Object Bucket and is then creating a plain file with the folder name inside the Bucket. After that no write happens again to the Bucket.
We are getting the following errors:
Before delete of the file:
After delete: As you see, a new WAL file is written and after that the write stops again.