Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
[18.01] Improve performance bugs and misleading summary info in history list. #5533
Prefetch shared user information as counts instead of objects and do so in initial query to eliminate an extra 15 SQL queries per page and load less data related to sharing.
Replace columns that would cause HDA information to be joined into the query (history size and HDA state counts) with a spinner that will be fetched in subsequent queries on the client end. There can hundreds of thousands of datasets per history - this information shouldn't be summarized to get the initial page to render - it can be fetched one history at a time once the page is rendered.
This commit also adds a new column "Items" that corresponds to the next HID - and that I think is a good summary of the "history size" before the dataset state information is loaded and even gives additional information because that count includes collections. This also renders state information for deleted and hidden datasets that was previously missing and could cause confusion. That said I don't like the dataset summaries - I'd rather just have the item count and then job state summaries (and maybe workflow state summaries as well).
Safer alternative to #5504 - that PR also pre-fetched the tags in the initial join - which very likely would have been a good idea but under some circumstances might not be (if there are on average many tags per query). That PR also prefetched the users shared with instead of just the counts - fetching just the counts should pretty much always be the better choice.