-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add round-robin logic during downloadSegmentFromPeer #12353
Add round-robin logic during downloadSegmentFromPeer #12353
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #12353 +/- ##
============================================
+ Coverage 61.74% 61.78% +0.03%
Complexity 207 207
============================================
Files 2436 2436
Lines 133089 133098 +9
Branches 20615 20617 +2
============================================
+ Hits 82172 82228 +56
+ Misses 44878 44837 -41
+ Partials 6039 6033 -6
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
pinot-common/src/main/java/org/apache/pinot/common/utils/RoundRobinURIProvider.java
Outdated
Show resolved
Hide resolved
pinot-common/src/main/java/org/apache/pinot/common/utils/RoundRobinURIProvider.java
Outdated
Show resolved
Hide resolved
pinot-common/src/main/java/org/apache/pinot/common/utils/RoundRobinURIProvider.java
Show resolved
Hide resolved
pinot-common/src/main/java/org/apache/pinot/common/utils/RoundRobinURIProvider.java
Outdated
Show resolved
Hide resolved
pinot-common/src/main/java/org/apache/pinot/common/utils/RoundRobinURIProvider.java
Outdated
Show resolved
Hide resolved
@Jackie-Jiang : can you also take a look? Thanks |
@tibrewalpratik17 : one of the tests is failing here across re-runs: https://github.com/apache/pinot/blob/master/pinot-integration-tests/src/test/java/org/apache/pinot/integration/tests/PartialUpsertTableRebalanceIntegrationTest.java#L199 Looks like rebalance is not converging, and the rebalance may be using Segment Fetcher which in turn may be using the RoundRobinURIProvider. Can you take a look? |
d327281
to
91025ec
Compare
Looks flaky to me! I rebased and re-ran the workflows. In the current run: https://github.com/apache/pinot/actions/runs/7891406566/job/21535679431?pr=12353, some other integration test failed with this unrelated reason where server-starter failed:
|
label:
bugfix
During downloadSegmentFromPeer :
pinot/pinot-core/src/main/java/org/apache/pinot/core/data/manager/realtime/RealtimeTableDataManager.java
Lines 596 to 598 in 041e040
We saw that in some scenarios, the download segment request went to the same peer even if the segment had multiple replicas.
Logs:
This patch adds a round-robin logic to ensure we hit other peers as well to download replica.