This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 483440afa96 branch-3.0: [improve](auto partition) random choose dummy
partition location to enhance fault tolerance #51732 (#51885)
483440afa96 is described below
commit 483440afa96dbd872c492b3ef64269ef8d922472
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jun 19 17:10:18 2025 +0800
branch-3.0: [improve](auto partition) random choose dummy partition
location to enhance fault tolerance #51732 (#51885)
Cherry-picked from #51732
Co-authored-by: hui lai <[email protected]>
---
.../main/java/org/apache/doris/planner/OlapTableSink.java | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
index 0f4f1f9f17d..3f5af10d4b1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/planner/OlapTableSink.java
@@ -617,23 +617,22 @@ public class OlapTableSink extends DataSink {
}
for (int i = 0; i < table.getIndexNumber(); i++) {
// only one fake tablet here
+ Long[] nodes = aliveBe.toArray(new Long[0]);
+ Random random = new SecureRandom();
+ int nodeIndex = random.nextInt(nodes.length);
if (singleReplicaLoad) {
- Long[] nodes = aliveBe.toArray(new Long[0]);
List<Long> slaveBe = aliveBe;
-
- Random random = new SecureRandom();
- int masterNode = random.nextInt(nodes.length);
locationParam.addToTablets(new TTabletLocation(fakeTabletId,
- Arrays.asList(nodes[masterNode])));
+ Arrays.asList(nodes[nodeIndex])));
- slaveBe.remove(masterNode);
+ slaveBe.remove(nodeIndex);
slaveLocationParam.addToTablets(new
TTabletLocation(fakeTabletId,
slaveBe));
} else {
locationParam.addToTablets(new TTabletLocation(fakeTabletId,
- Arrays.asList(aliveBe.get(0)))); // just one fake
location is enough
+ Arrays.asList(nodes[nodeIndex]))); // just one fake
location is enough
- LOG.info("created dummy location tablet_id={}, be_id={}",
fakeTabletId, aliveBe.get(0));
+ LOG.info("created dummy location tablet_id={}, be_id={}",
fakeTabletId, nodes[nodeIndex]);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]