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

Collect and display execution metadata for ES|QL cross cluster searches #112595

Merged
merged 70 commits into from
Sep 30, 2024

Commits on Sep 13, 2024

  1. Collect and display execution metadata for ES|QL cross cluster searches

    Added EsqlExecutionInfo class and added it to the EsqlQueryResponse,
    but not yet in the XContent output of EsqlQueryResponse.
    
    Also added to TransportEsqlQueryAction, but not yet passed down to the execution layers.
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    6ebc396 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    512fdec View commit details
    Browse the repository at this point in the history
  3. Removed changes to EsqlQueryResponse, spending too long getting the E…

    …sqlQueryResponseTests to pass and probably don't want it in the response for now anyway
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    39428fa View commit details
    Browse the repository at this point in the history
  4. Starting threading EsqlExecutionInfo into PlanExecutor and EsqlSesssi…

    …on, but not used yet to record metadata
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    892cd99 View commit details
    Browse the repository at this point in the history
  5. Have the initial swap-in of cluster info into EsqlExecutionInfo in Es…

    …qlSession.preAnalyzeIndices. No updates after that added yet.
    
    Passing in Function<String, Map<String, OriginalIndices>> rather than RemoteClusterService to PlanExecutor and EsqlSession.
    Makes it easier (or possible) to get the existing unit tests working again and less overall coupling.
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    fb10109 View commit details
    Browse the repository at this point in the history
  6. Added EsqlExecutionInfo to IndexResolver. Enrich pathway passes in nu…

    …ll for EsqlExecutionInfo.
    
    The EsqlExecutionInfo Cluster statuses are update in IndexResolver.updateExecutionInfoWithFieldCapsResults.
    Test for that method added.
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    797cc8c View commit details
    Browse the repository at this point in the history
  7. ComputeListener updated to the version that has proper remote/local s…

    …plit and new static constructors.
    
    However, the new acquire fns in ComputeListener are not yet used in ComputeService.
    ComputeResponse updated to have info (shard accounting and took time) need for adding to EsqlExecutionInfo,
    but again not being used/added yet.
    Added to queryStartTimeMillis to esql.session.Configuration
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    fa7bbb0 View commit details
    Browse the repository at this point in the history
  8. Added new tests to ComputeListenerTests

    And adjusted acquireComputeForDataNodes to take long for startTime rather than whole Configuration object
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    71a33ed View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ab347a6 View commit details
    Browse the repository at this point in the history
  10. update ExecutionInfo with shard counts in ComputeService.lookupDataNodes

    Added new DataNodeResult record to be returned from ComputeService.lookupDataNodes
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    c39111b View commit details
    Browse the repository at this point in the history
  11. Migrated CrossClustersQueryIT to new setup format, but can't add exec…

    …Info tests until its added to the EsqlQueryResponse
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    1a3a7f8 View commit details
    Browse the repository at this point in the history
  12. Added CountDown to acquireComputeForDataNodes - that allows SUCCESSFU…

    …L status to be set for local cluster when last node finishes
    
    Added EsqlExecutionInfo to EsqlQueryResponse, but only took time is in the XContent
    Added new tests and test cases to CrossClustersQueryIT
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    544aaeb View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ca2de85 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f839132 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    3f3139b View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    e090437 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    b2b2542 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    5e7876e View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    3e16fbb View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    ed5b9db View commit details
    Browse the repository at this point in the history
  21. Added EsqlExecutionInfo to equals and hashCode method of EsqlQueryRes…

    …ponse and got EsqlQueryResponseTests passing
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    661a243 View commit details
    Browse the repository at this point in the history
  22. Removed skip_unavilable=true filter in IndexResolver - all clusters a…

    …re marked as skipped for now if remote cannot be contacted
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    9535bdd View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    699b16a View commit details
    Browse the repository at this point in the history
  24. Added equals and hashCode to EsqlExecutionInfo.Cluster object.

    Improved javadoc and fixed a few minor test flaws.
    Removed some debugging code.
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    228eed2 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    fa9c7c4 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    c51719e View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    d365c37 View commit details
    Browse the repository at this point in the history
  28. Added questions about took time headers to EsqlResponseListener - pos…

    …sibly need to change that impl
    quux00 committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    8688dbf View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Configuration menu
    Copy the full SHA
    5b93774 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. Configuration menu
    Copy the full SHA
    449e1a7 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. Configuration menu
    Copy the full SHA
    0083ae7 View commit details
    Browse the repository at this point in the history
  2. PR feedback with focus on end user docs fixes, removing some out-of-d…

    …ate code comments and minor improvements to tests (qa and IT)
    quux00 committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    5462d6b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5f27325 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Additional PR feedback changes - test adjustments, remove 'set' and '…

    …get' prefixes from some methdos in EsqlExecutionInfo
    quux00 committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    9e77c28 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd6d3bf View commit details
    Browse the repository at this point in the history
  3. Now tracking took in nanos, not millis (but XContent still displays i…

    …n millis, until a decision is made to change it)
    
    Also reading/writing TimeValue with read/writeOptionalTimeValue.
    quux00 committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    6e87174 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b474fc7 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1649962 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    20c9356 View commit details
    Browse the repository at this point in the history
  7. EsqlResponseListener now preferentially uses the took time in the Esq…

    …lExecutionInfo; falls back to internal Stopwatch
    quux00 committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    e6aa92a View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Configuration menu
    Copy the full SHA
    59d1480 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8bb1b7f View commit details
    Browse the repository at this point in the history
  3. Modified esql-across-clusters to run the new queries I added; but JSO…

    …N responses are not tested - not clear how to do multiline replacements in this test framework
    quux00 committed Sep 20, 2024
    Configuration menu
    Copy the full SHA
    6323cdf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4875a66 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    24e0c02 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    940ef22 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Configuration menu
    Copy the full SHA
    617cbec View commit details
    Browse the repository at this point in the history
  2. Removed code that lists fully resolved indices in the _clusters/detai…

    …ls (PR feedback) and updated tests
    quux00 committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    c45d181 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    13a34de View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9ac5746 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. PR feedback: Moved logic for unavailable/missing clusters to EsqlSession

    EsqlExecutionInfo is no longer passed into IndexResolver. Instead it returns the info
    needed in IndexResolution so that ExecInfo.Cluster info can be updated in EsqlSession.
    quux00 committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    3afb7a1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b118406 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2024

  1. PR feedback: I removed acquireCCSCompute and acquireComputeForDatanod…

    …es in ComputeListener.
    
    This however requires adding additional state to ComputeListener to know what "context" each compute
    listener is running so it knows what actions to take.
    quux00 committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    fc53eb7 View commit details
    Browse the repository at this point in the history
  2. Merge remote-tracking branch 'elastic/main' into esql/ccs-execution-i…

    …nfo2-26-Sep-SQUASHED
    quux00 committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    d50658c View commit details
    Browse the repository at this point in the history
  3. PR feedback: Created new intf IndicesExpressionResolver and have Remo…

    …teClusterService implementing it
    quux00 committed Sep 26, 2024
    Configuration menu
    Copy the full SHA
    dc467ac View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    711c1f8 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. checkstyle fix

    quux00 committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    8e5f170 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    838e6a9 View commit details
    Browse the repository at this point in the history
  3. Moved parseClusterAlias from IndexResolver to RemoteClusterAware and …

    …using the new methods in RemoteClusterAware
    quux00 committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    77cc107 View commit details
    Browse the repository at this point in the history
  4. Renamed IndicesExpressionResolver intf to IndicesExpressionGrouper.

    Added ExecutionInfo asserts to CrossClustersEnrichIT.
    quux00 committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    0e71453 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a69f3db View commit details
    Browse the repository at this point in the history
  6. PR feedback: Added javadoc to ComputeListener, removed leftover debug…

    …ging code, other minor code cleanup.
    quux00 committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    a7efbec View commit details
    Browse the repository at this point in the history
  7. Fixed bug where SKIPPED status for unavailable clusters from field-ca…

    …ps lookup was being overwritten to SUCCESSFUL status
    quux00 committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    aa8bbaa View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e5e45b5 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Configuration menu
    Copy the full SHA
    9a304c2 View commit details
    Browse the repository at this point in the history
  2. PR feedback

    quux00 committed Sep 30, 2024
    Configuration menu
    Copy the full SHA
    d79af98 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    826aab7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ec99687 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    02092e9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8569bfa View commit details
    Browse the repository at this point in the history