Skip to content

Conversation

@lukasolson
Copy link
Contributor

Summary

This moves the handling of the loadingCount$ from the createAppMountSearchContext to syncSearchStrategyProvider.

Since search strategies can be composed and call each other, it makes sense to leave it up to the individual strategy to properly handle loadingCount$. Since the syncSearchStrategyProvider is what actually makes the HTTP call, it makes sense to put it here.

I ran into this when implementing the asyncSearchStrategyProvider, which in turn uses the syncSearchStrategyProvider. Since both were calling the search method exposed by createAppMountSearchContext, the loadingCount$ was being incremented/decremented incorrectly too many times, and never ended up clearing out.

@lukasolson lukasolson added Feature:Search Querying infrastructure in Kibana Team:AppArch labels Jan 29, 2020
@lukasolson lukasolson requested a review from lizozom January 29, 2020 19:32
@lukasolson lukasolson requested a review from a team as a code owner January 29, 2020 19:32
@lukasolson lukasolson self-assigned this Jan 29, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-arch (Team:AppArch)

@lukasolson lukasolson added release_note:skip Skip the PR/issue when compiling release notes v7.7.0 v8.0.0 labels Jan 29, 2020
@lizozom
Copy link
Contributor

lizozom commented Feb 2, 2020

@elasticmachine merge upstream

Copy link
Contributor

@lizozom lizozom left a comment

Choose a reason for hiding this comment

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

Tested and working with both search and msearch.
Added a comment about sync strategy's implementation.

options: ISearchOptions = {}
) => {
const loadingCount$ = new BehaviorSubject(0);
context.core.http.addLoadingCountSource(loadingCount$);
Copy link
Contributor

Choose a reason for hiding this comment

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

You're going to keep adding an observable for every search.
I think we should just add it once and only trigger it for every search.

Copy link
Contributor Author

@lukasolson lukasolson Feb 3, 2020

Choose a reason for hiding this comment

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

Good call, resolved in e5d7d58.

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

Copy link
Contributor

@lizozom lizozom left a comment

Choose a reason for hiding this comment

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

LGTM

@lukasolson lukasolson merged commit e510484 into elastic:master Feb 4, 2020
lukasolson added a commit to lukasolson/kibana that referenced this pull request Feb 4, 2020
…6335)

* Move loadingCount to search strategy

* Only register observable once

Co-authored-by: Elastic Machine <[email protected]>
@lukasolson
Copy link
Contributor Author

7.x (7.7.0): 7b0067f

gmmorris added a commit to gmmorris/kibana that referenced this pull request Feb 5, 2020
* master: (23 commits)
  Properly handle password change for users authenticated with provider other than `basic`. (elastic#55206)
  Improve pull request template proposal (elastic#56756)
  Only change handlers as the element changes (elastic#56782)
  [SIEM][Detection Engine] Final final rule changes (elastic#56806)
  [SIEM][Detection Engine] critical blocker, wrong ilm policy, need to match beats ilm policy
  Move ui/agg_types in to shim data plugin (elastic#56353)
  [SIEM] Fixes Signals count spinner (elastic#56797)
  [docs] Update upgrade version path (elastic#56658)
  [Canvas] Use unique Id for Canvas Embeddables (elastic#56783)
  [Rollups] Adjust max width for job detail panel (elastic#56674)
  Prevent http client from converting our form data (elastic#56772)
  Disable creating alerts client instances when ESO plugin is using an ephemeral encryption key (elastic#56676)
  Bumps terser-webpack-plugin to 2.3.4 (elastic#56662)
  Advanced settings component registry ⇒ kibana platform plugin (elastic#55940)
  [Endpoint] EMT-67: add kql support for endpoint list (elastic#56328)
  Implement UI for Create Alert form  (elastic#55232)
  Fix: Filter pill base coloring (elastic#56761)
  fix open close signal on detail page (elastic#56757)
  [Search service] Move loadingCount to sync search strategy (elastic#56335)
  Rollup TSVB integration: Add test and fix warning text (elastic#56639)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature:Search Querying infrastructure in Kibana release_note:skip Skip the PR/issue when compiling release notes v7.7.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants