Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

audb might fail to access data if a repo without access is stored on the same host #340

Open
hagenw opened this issue Dec 12, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@hagenw
Copy link
Member

hagenw commented Dec 12, 2023

As tested in #339 Artifactory seems to automatically close any connection coming from the same address after a failed request from the same address. This can happen when we first tried to access a repository on the host for which we don't have access and afterwards try to access a repo for which we have access.

This cannot easily solved by adding some waiting time before redoing the request as we might have independent calls to audb on the same machine.

Would be nice if we can have instead a way to first ask Artifactory if access is given for a repos and only try to access the repo if this is the case.

Until then, the workaround is to not include a repository inside audb.config.REPOSITOIRES for which no reading rights exist.

/cc @ChristianGeng

@hagenw hagenw added the bug Something isn't working label Dec 12, 2023
@hagenw
Copy link
Member Author

hagenw commented Dec 12, 2023

This is not only affected by repos without access right, but also by empty repos. Maybe they connection is not closed when trying to access it and this lets the next connection fail?

@ChristianGeng
Copy link
Member

This cannot easily solved by adding some waiting time before redoing the request as we might have independent calls to audb on the same machine.

In case that waiting will turn out as the only option: openai has a nice tutorial on expontential backoff as a waiting strategy here. Their usecase is API rate limits but the problem is very similar. They even provide a handcrafted decorator that should be easily adaptable and can avoid external dependencies.

Would be nice if we can have instead a way to first ask Artifactory if access is given for a repos and only try to access the repo if this is the case.

This SOV post suggests that it might be possible to get this information without doing a full audb.get.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants