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

az acr repository show-manifests very, very slow #83

Closed
DonMartin76 opened this issue Apr 5, 2018 · 9 comments
Closed

az acr repository show-manifests very, very slow #83

DonMartin76 opened this issue Apr 5, 2018 · 9 comments

Comments

@DonMartin76
Copy link

DonMartin76 commented Apr 5, 2018

For larger repositories in an ACR, the Azure CLI command az acr repository show-manifests is extremely slow. While show-tags is fairly quick (under 30 seconds), show-manifests sometimes takes several minutes to finish. In some cases, I had to cancel the request after almost 30 minutes.

Granted, those repositories have never been cleaned up (see issue #82), and that's what I am currently trying to do. Some repositories have several hundred tags, and as such also an amount of manifests in the same order of magnitude.

Still, this seems to be too slow. Is this a known issue, is there something one can do about it?

Addendum: It seems as if it's really the call to GET //v2/_acr/<repository>/manifests/list?n=20 which is really slow for certain of the larger repositories. This means I currently can't really clean things up efficiently. For the smaller repos, it works, but there seems to be some kind of O(n^2) thing in here (or even worse) which makes it too slow for repos having lots of manifests.

@SteveLasker
Copy link
Contributor

Hi @DonMartin76 ,
The changes for perf and ordering are in flight. We believe the alpha ordering that docker supports as the default experience is insufficient beyond discovery. But, we've heard complains that we are currently random, and should be consistent with docker by default. We will be adding the ability to sort by the date a tag was updated. You'll be able to specify asc or desc ordering with paging. Without digging too deep into the sausage factory, we need to release the server side and az acr changes. It will likely be the end of the month, likely mid May before these are rolled out for public consumption as we're batching these with some other changes that are in flight as well.

@DonMartin76
Copy link
Author

OK, thanks for the heads up. I need to find a different solution for the time being then - I have let it sit for two hours now, and it still didn't answer the request. I guess it's cut off somewhere in the backend.

@SteveLasker
Copy link
Contributor

We'll make sure this particular manifest listing api gets fixed in our next deployment. We can shim it over the new metadata services that improve perf. It should be out by ~23rd.
Hopefully the current api you're running doesn't take that long to return... Sorry. We've been working on the metedata api to fix the indexing for a bit as we've seen latency become a problem. You're just a front runner. We'd love to have you in the preview.
Steve

@DonMartin76
Copy link
Author

Thanks for your efforts, looking forward to the performance improvements. Registered for the preview.

@DonMartin76
Copy link
Author

There seems to have been a fix, or at least a change for this - it actually returns data now. Can you confirm that you have rolled out a fix?

@sajayantony
Copy link
Contributor

There have been a large number of fixes and improvements being rolled out -
/cc @yuwaMSFT2 @djyou

@sajayantony
Copy link
Contributor

Feel free to reopen if we see performance degradation.

@DonMartin76
Copy link
Author

This is sufficiently fast now. Sorry for not closing this myself earlier.

@SteveLasker
Copy link
Contributor

No worries. Just happy we were able to resolve. Thanks for taking the time to post the info. If you have any other feedback, please do reach out.
Steve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants