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

Speed up library list loading when SQL is disabled #1880

Merged
merged 1 commit into from
Feb 27, 2024

Conversation

sebjulliand
Copy link
Collaborator

Changes

When SQL is disabled, loading the library list items take a significant amount of time because it runs DSPOBJD OBJ(QSYS/*ALL) to load the librarys' description.
This PR makes it run one DSPOBJD for each library which speeds up the loading of the Library List view.

The other possible fix for this is to disregard config.enableSQL entirely and always use OBJECT_STATISTICS.

Checklist

  • have tested my change

Signed-off-by: Seb Julliand <sjulliand@arcadsoftware.com>
@sebjulliand sebjulliand added the enhancement New feature or request label Feb 27, 2024
Copy link
Collaborator

@chrjorgensen chrjorgensen left a comment

Choose a reason for hiding this comment

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

@sebjulliand LGTM - same result as before the change.

But I don't see any speed difference with my 6 libraries in the library list. Have we had any reports of slow library list view?

@sebjulliand
Copy link
Collaborator Author

@sebjulliand LGTM - same result as before the change.

But I don't see any speed difference with my 6 libraries in the library list. Have we had any reports of slow library list view?

I did not report it, but it's been bothering me lately as I kept seeing the view loading for too long on one of the LPAR I work on.
But this is a development LPAR, and it has tons of libraries, so that must be why!

@sebjulliand
Copy link
Collaborator Author

For the record: that development LPAR has 11010 libraries 😅 And since my profile has *ALLOBJ, I can list and access them all.
I tried on another LPAR with 845 libraries and in this case, the change is not noticeable.

But thanks for testing and validating, much appreciated!

@worksofliam
Copy link
Contributor

That's a lot of DSPOBJD! Makes sense, but yes, I wondering if using OBJECT_STATISTICS would be better - esp. since we don't need to worry about the CCSID stuff now :)

@chrjorgensen
Copy link
Collaborator

For the record: that development LPAR has 11010 libraries

Wauw - you should do some cleanup! 😆

I tested in one of our LPARs with 1227 libraries and didn't see any difference after the change. I remember once thinking about why all libraries were included, but back then we could not send multiple commands at once, so I decided that it was better keep getting all libraries with one command / round-trip than getting one at a time and having multiple commands and round-trips. Your excellent change allowing us to run multiple commands in only one round-trip now made this change possible. Thanks!

@sebjulliand
Copy link
Collaborator Author

Thank you guys!
I guess we'll be able to keep only the OBJECT_STATISTICS part for 3.0.0.

@sebjulliand sebjulliand merged commit 6a0ca29 into master Feb 27, 2024
1 check passed
@sebjulliand sebjulliand deleted the fix/libraryListLoading branch February 27, 2024 15:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants