Skip to content

Conversation

grusev
Copy link
Contributor

@grusev grusev commented Sep 15, 2025

Reference Issues/PRs

What does this implement or fix?

Start running test with conda once again: 50 runs: https://github.com/man-group/ArcticDB/actions/runs/17730467752

Creating bucket now retries on ClientError 400 also and not only to EndpointConnectionError

except (botocore.exceptions.EndpointConnectionError, botocore.exceptions.ClientError) as e:
.....

This should fix also: https://github.com/man-group/ArcticDB/actions/runs/17843532292/job/50738667004

Validation link for Build and Test: https://github.com/man-group/ArcticDB/actions/runs/17849282592

The fix does not seems to work ... We continue to to get ClientError: https://github.com/man-group/ArcticDB/actions/runs/17856250740/job/50775866306?pr=2648.
The code is trying to run Moto (seen from 'OSError(98, 'Address already in use')'). It manages to do that at port 20579. Then we try to create the bucket 15 times ... But for some reason we always get

botocore.exceptions.ClientError: An error occurred (400) when calling the CreateBucket operation: Bad Request
........
OSError(98, 'Address already in use')
OSError(98, 'Address already in use')
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): localhost:20579
DEBUG:urllib3.connectionpool:http://localhost:20579 "GET / HTTP/1.1" 400 None
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): localhost:20579
DEBUG:urllib3.connectionpool:http://localhost:20579 "PUT /test_s3_bucket_1758284502_1 HTTP/1.1" 400 0
WARNING:S3 Storage Fixture:S3 create bucket failed. Retry 1/15
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:20579/
 * Running on http://10.1.1.114:20579/
Press CTRL+C to quit
DEBUG:urllib3.connectionpool:http://localhost:20579 "PUT /test_s3_bucket_1758284502_1 HTTP/1.1" 400 0
WARNING:S3 Storage Fixture:S3 create bucket failed. Retry 1/15
DEBUG:urllib3.connectionpool:http://localhost:20579 "PUT /test_s3_bucket_1758284502_1 HTTP/1.1" 400 0
WARNING:S3 Storage Fixture:S3 create bucket failed. Retry 1/15
............

Ok. Trying to make bucket name use - instead of _ ... This seems to be one important recommendation that is not true with our code

Coverage after the change:
https://github.com/man-group/ArcticDB/actions/runs/17937971277
https://github.com/man-group/ArcticDB/actions/runs/17937631291/job/51006702552?pr=2648

The error still exist. Made new modifications to print out the actual error message. It seems like we are trying to comnect to Azurite that is running on the same port - that means that a Moto S3 gets free port but in mean time Azurite is spawned there. Solution - introduce get_buckets_check operation that will be always executed upon start of Moto S3. If that operation is not successfull a new attempt will be triggered to obtain another free port with different seed this time.

Additional validation avail here: https://github.com/man-group/ArcticDB/actions/runs/17978603290

A new version where server identifies itself as Moto AWS S3 or Moto GCP is created.

Additional validation run: https://github.com/man-group/ArcticDB/actions/runs/18095773997
Real Storage Test: https://github.com/man-group/ArcticDB/actions/runs/18095823526

Any other comments?

Checklist

Checklist for code changes...
  • Have you updated the relevant docstrings, documentation and copyright notice?
  • Is this contribution tested against all ArcticDB's features?
  • Do all exceptions introduced raise appropriate error messages?
  • Are API changes highlighted in the PR description?
  • Is the PR labelled as enhancement or bug so it appears in autogenerated release notes?

@grusev grusev marked this pull request as ready for review September 17, 2025 09:17
@grusev grusev added the patch Small change, should increase patch version label Sep 17, 2025
Copy link
Collaborator

@IvoDD IvoDD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However it looks like it still fails for conda on the CI?

@grusev grusev merged commit 810df8c into master Sep 30, 2025
139 of 141 checks passed
@grusev grusev deleted the grusev-patch-1 branch September 30, 2025 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
patch Small change, should increase patch version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants