-
Notifications
You must be signed in to change notification settings - Fork 898
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
[Discover] Makes caching dataset options optional #8799
[Discover] Makes caching dataset options optional #8799
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #8799 +/- ##
==========================================
+ Coverage 60.77% 60.78% +0.01%
==========================================
Files 3798 3798
Lines 90695 90701 +6
Branches 14279 14284 +5
==========================================
+ Hits 55121 55135 +14
+ Misses 32075 32067 -8
Partials 3499 3499
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: Kawika Avilla <kavilla414@gmail.com>
@@ -36,6 +36,8 @@ export interface DatasetTypeConfig { | |||
supportsTimeFilter?: boolean; | |||
/** Optional isFieldLoadAsync determines if field loads are async */ | |||
isFieldLoadAsync?: boolean; | |||
/** Optional cacheOptions determines if the data structure is cacheable. Defaults to false */ | |||
cacheOptions?: boolean; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why don't we just name it cacheable since it is a boolean.
const isEnabled = await getAvailableLanguagesForDataSource(http, dataSourceId).then( | ||
(languages) => languages.length > 0 | ||
); | ||
// [TODO] - The timmeout exists because the loading of the Datasource menu is prevented until this request completes. This if a single cluster is down the request holds the whole menu level in a loading state. We should make this call non blocking and load the datasource meta in the background. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// [TODO] - The timmeout exists because the loading of the Datasource menu is prevented until this request completes. This if a single cluster is down the request holds the whole menu level in a loading state. We should make this call non blocking and load the datasource meta in the background. | |
// [TODO] - The timeout exists because the loading of the Datasource menu is prevented until this request completes. Then if a single cluster is down the request holds the whole menu level in a loading state. We should make this call non blocking and load the datasource meta in the background. |
The backport to
To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/OpenSearch-Dashboards/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/OpenSearch-Dashboards/backport-2.x
# Create a new branch
git switch --create backport/backport-8799-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 005a83a4091d912649283f79ab0b5d617066955d
# Push it to GitHub
git push --set-upstream origin backport/backport-8799-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/OpenSearch-Dashboards/backport-2.x Then, create a pull request where the |
Description
Makes caching dataset options optional. Enables it only for s3 since its metadtata calls are slower.
Additinal fix: When caching was no longer optional, qury assist api calls held the Clusters menu in a perpetual loading state causing the menu to not load. This fixes that by timing out only the is enabled queries to not prevent that menu from loading.
Issues Resolved
Screenshot
Testing the changes
See unit test.
Or for Manual testing:
Changelog
Check List
yarn test:jest
yarn test:jest_integration