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

enhance: Read metadata concurrently to accelerate recovery #38403

Open
wants to merge 12 commits into
base: master
Choose a base branch
from

Conversation

bigsheeper
Copy link
Contributor

Read metadata such as segments, binlogs, and partitions concurrently at the collection level.

issue: #37630

@sre-ci-robot sre-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines. label Dec 12, 2024
@sre-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: bigsheeper
To complete the pull request process, please assign czs007 after the PR has been reviewed.
You can assign the PR to them by writing /assign @czs007 in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mergify mergify bot added dco-passed DCO check passed. kind/enhancement Issues or changes related to enhancement labels Dec 12, 2024
czs007 pushed a commit that referenced this pull request Dec 12, 2024
…38404)

Read metadata such as segments, binlogs, and partitions concurrently at
the collection level.

issue: #37630

pr: #38403

Signed-off-by: bigsheeper <[email protected]>
Copy link

codecov bot commented Dec 12, 2024

Codecov Report

Attention: Patch coverage is 89.17910% with 29 lines in your changes missing coverage. Please review.

Project coverage is 81.10%. Comparing base (accfacf) to head (b0acfc3).

Files with missing lines Patch % Lines
internal/datacoord/meta.go 86.76% 6 Missing and 3 partials ⚠️
internal/metastore/kv/querycoord/kv_catalog.go 80.64% 4 Missing and 2 partials ⚠️
internal/datacoord/server.go 58.33% 3 Missing and 2 partials ⚠️
internal/datacoord/broker/coordinator_broker.go 73.33% 3 Missing and 1 partial ⚠️
internal/metastore/kv/rootcoord/kv_catalog.go 85.18% 3 Missing and 1 partial ⚠️
internal/metastore/kv/datacoord/kv_catalog.go 94.73% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master   #38403      +/-   ##
==========================================
- Coverage   81.13%   81.10%   -0.04%     
==========================================
  Files        1385     1385              
  Lines      196070   196185     +115     
==========================================
+ Hits       159083   159108      +25     
- Misses      31397    31481      +84     
- Partials     5590     5596       +6     
Components Coverage Δ
Client 79.12% <ø> (ø)
Core 69.45% <ø> (-0.02%) ⬇️
Go 83.06% <89.17%> (-0.05%) ⬇️
Files with missing lines Coverage Δ
internal/distributed/rootcoord/client/client.go 93.54% <100.00%> (+0.10%) ⬆️
internal/distributed/rootcoord/service.go 80.51% <100.00%> (+0.12%) ⬆️
internal/metastore/catalog.go 100.00% <ø> (ø)
internal/querycoordv2/meta/collection_manager.go 89.74% <100.00%> (+2.32%) ⬆️
internal/rootcoord/meta_table.go 83.35% <100.00%> (+0.05%) ⬆️
internal/rootcoord/root_coord.go 88.35% <100.00%> (+0.25%) ⬆️
internal/util/mock/grpc_rootcoord_client.go 86.04% <100.00%> (+0.21%) ⬆️
pkg/util/paramtable/service_param.go 99.15% <100.00%> (+<0.01%) ⬆️
internal/metastore/kv/datacoord/kv_catalog.go 77.44% <94.73%> (-1.26%) ⬇️
internal/datacoord/broker/coordinator_broker.go 96.22% <73.33%> (-3.78%) ⬇️
... and 4 more

... and 20 files with indirect coverage changes

Copy link
Contributor

mergify bot commented Dec 13, 2024

@bigsheeper go-sdk check failed, comment rerun go-sdk can trigger the job again.

Copy link
Contributor

mergify bot commented Dec 17, 2024

@bigsheeper E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Copy link
Contributor

mergify bot commented Dec 17, 2024

@bigsheeper go-sdk check failed, comment rerun go-sdk can trigger the job again.

Copy link
Contributor

mergify bot commented Dec 17, 2024

@bigsheeper cpp-unit-test check failed, comment rerun cpp-unit-test can trigger the job again.

Signed-off-by: bigsheeper <[email protected]>
Signed-off-by: bigsheeper <[email protected]>
Copy link
Contributor

mergify bot commented Dec 30, 2024

@bigsheeper go-sdk check failed, comment rerun go-sdk can trigger the job again.

@bigsheeper
Copy link
Contributor Author

rerun go-sdk

Copy link
Contributor

mergify bot commented Dec 31, 2024

@bigsheeper go-sdk check failed, comment rerun go-sdk can trigger the job again.

@bigsheeper
Copy link
Contributor Author

rerun go-sdk

record := timerecord.NewTimeRecorder("datacoord")
segments, err := m.catalog.ListSegments(m.ctx)

resp, err := broker.ShowCollectionsInternal(m.ctx)
Copy link
Collaborator

Choose a reason for hiding this comment

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

if ShowCollectionsInternal is not supported, fallback to the old way?

Copy link
Contributor Author

@bigsheeper bigsheeper Jan 1, 2025

Choose a reason for hiding this comment

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

Adding fallback logic would require retaining many outdated metastore interfaces. Perhaps we could instead introduce a retry mechanism to wait for the new rootcoord to come online.

Copy link
Contributor

mergify bot commented Dec 31, 2024

@bigsheeper go-sdk check failed, comment rerun go-sdk can trigger the job again.

Copy link
Contributor

mergify bot commented Jan 1, 2025

@bigsheeper go-sdk check failed, comment rerun go-sdk can trigger the job again.

Signed-off-by: bigsheeper <[email protected]>
Copy link
Contributor

mergify bot commented Jan 1, 2025

@bigsheeper E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dco-passed DCO check passed. kind/enhancement Issues or changes related to enhancement size/XXL Denotes a PR that changes 1000+ lines.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants