-
-
Notifications
You must be signed in to change notification settings - Fork 532
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
go/store/datas/pull: Create a PullChunkTracker for keeping track of what to pull. #7553
Conversation
…hat to pull. The PullChunkTracker is an optimization which can concurrently call HasMany on the destination database while chunks are being pulled from the source database.
… of hashes to pull are also seen.
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.
A couple comments, and suggested an additional test
go/store/datas/pull/puller.go
Outdated
batches = batches[:len(batches)-1] | ||
tracker := NewPullChunkTracker(ctx, p.hashes, TrackerConfig{ | ||
BatchSize: batchSize, | ||
HasManyThreadCount: 3, |
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.
Where is 3 coming from? Were you able to test a few different thread counts and settle on this one using data?
…ThreadCount a constant.
…t about PullChunkTracker.
…or when HasMany returns a subset of queried chunks.
…e last batch returned from GetChunksToFetch.
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.
LGTM!
@coffeegoddd DOLT
|
@coffeegoddd DOLT
|
@coffeegoddd DOLT
|
@coffeegoddd DOLT
|
The PullChunkTracker is an optimization which can concurrently call HasMany on the destination database while chunks are being pulled from the source database.