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

Excessive calls to /meta on dataset landing pages #978

Closed
amoeba opened this issue Jun 17, 2019 · 4 comments
Closed

Excessive calls to /meta on dataset landing pages #978

amoeba opened this issue Jun 17, 2019 · 4 comments
Assignees
Labels
blocker This issue is blocking progress on other work bug
Milestone

Comments

@amoeba
Copy link
Contributor

amoeba commented Jun 17, 2019

When browsing https://arcticdata.io/catalog/view/urn:uuid:6b76bdb0-d080-43e7-bb24-12f0d5b34654, I notice my browser hangs a fair bit and I also notice about 1000+ calls to /meta for various Objects. The package has 999 members (The ORE in question is resource_map_urn:uuid:6b76bdb0-d080-43e7-bb24-12f0d5b34654).

It looks like the performance of this page is related in part to the excessive calls to /meta (there should be only one or two at the most) and possibly a large response from the View Service (~2.6MB of HTML which is a lot).

@amoeba amoeba added the bug label Jun 17, 2019
@jagoldstein
Copy link

Yes, I concur with @amoeba about the UX. Landing pages for packages with ORE's that aggregate 100s of objects are very slow to render and often fail.

Here's another example:
https://doi.org/10.18739/A2SJ19R0S
.

@laurenwalker
Copy link
Member

I agree that this issue needs to be resolved. This was introduced when the prov charts were refactored to use the new DataPackage collection, which retrieves the system metadata for all members of a package during fetch(). But it's not necessary.

@laurenwalker laurenwalker self-assigned this Jun 18, 2019
@laurenwalker laurenwalker added this to the 2.6.4 milestone Jun 18, 2019
@jagoldstein jagoldstein added the blocker This issue is blocking progress on other work label Jun 24, 2019
@laurenwalker laurenwalker modified the milestones: 2.6.4, 2.6.5 Jun 26, 2019
laurenwalker added a commit that referenced this issue Jul 12, 2019
…age was retrieved when the MetadataView was loaded.

Closes #978
laurenwalker added a commit that referenced this issue Jul 12, 2019
…used to draw the PackageTableView) instead of fetching from Solr new

Improvement to c023088 for #978
@laurenwalker
Copy link
Member

I just pushed a fix for this issue that makes loading of large datasets much faster. Particularly, the delay to show the prov charts should be reduced by orders of magnitude. Here's a screengrab showing the difference between my updated local MetacatUI and the unupdated MetacatUI on dev.nceas for a 300-member package:

provcharts

Summary of the solution

  • The only thing the ProvChartViews need from the system metadata is the formatId and fileName. These are both indexed and already retrieved when the PackageTableView is rendered at the top of the page. I added some code that allows the ProvChartViews to reuse that information instead of retrieving it from the system metadata.

@amoeba
Copy link
Contributor Author

amoeba commented Jul 13, 2019

Awesome, thanks for doing this @laurenwalker !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocker This issue is blocking progress on other work bug
Projects
None yet
Development

No branches or pull requests

3 participants