This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 4b9535c9b93 [fix](cloud) Fix replay modify colocate failed (#3179)
(#3226) (#34401)
4b9535c9b93 is described below
commit 4b9535c9b93de5daad6a8b998ead5e52f55b3e5f
Author: Luwei <[email protected]>
AuthorDate: Tue May 7 09:41:35 2024 +0800
[fix](cloud) Fix replay modify colocate failed (#3179) (#3226) (#34401)
3.0 #3179 http://39.106.86.136:8090/browse/CORE-3949
---
.../main/java/org/apache/doris/catalog/Env.java | 35 ++++++++++++----------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index cb55a2fb873..47bb945911d 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -4523,24 +4523,29 @@ public class Env {
groupSchema.checkColocateSchema(table);
}
- Map<Tag, List<List<Long>>> backendsPerBucketSeq = null;
- if (groupSchema == null) {
- // assign to a newly created group, set backends sequence.
- // we arbitrarily choose a tablet backends sequence from this
table,
- // let the colocation balancer do the work.
- backendsPerBucketSeq = table.getArbitraryTabletBucketsSeq();
- }
- // change group after getting backends sequence(if has), in case
'getArbitraryTabletBucketsSeq' failed
- groupId = colocateTableIndex.changeGroup(db.getId(), table,
oldGroup, assignedGroup, assignedGroupId);
+ if (Config.isCloudMode()) {
+ groupId = colocateTableIndex.changeGroup(db.getId(), table,
oldGroup, assignedGroup, assignedGroupId);
+ } else {
+ Map<Tag, List<List<Long>>> backendsPerBucketSeq = null;
+ if (groupSchema == null) {
+ // assign to a newly created group, set backends sequence.
+ // we arbitrarily choose a tablet backends sequence from
this table,
+ // let the colocation balancer do the work.
+ backendsPerBucketSeq =
table.getArbitraryTabletBucketsSeq();
+ }
+ // change group after getting backends sequence(if has), in
case 'getArbitraryTabletBucketsSeq' failed
+ groupId = colocateTableIndex.changeGroup(db.getId(), table,
oldGroup, assignedGroup, assignedGroupId);
- if (groupSchema == null) {
- Preconditions.checkNotNull(backendsPerBucketSeq);
- colocateTableIndex.addBackendsPerBucketSeq(groupId,
backendsPerBucketSeq);
+ if (groupSchema == null) {
+ Preconditions.checkNotNull(backendsPerBucketSeq);
+ colocateTableIndex.addBackendsPerBucketSeq(groupId,
backendsPerBucketSeq);
+ }
+
+ // set this group as unstable
+ colocateTableIndex.markGroupUnstable(groupId, "Colocation
group modified by user",
+ false /* edit log is along with modify table log */);
}
- // set this group as unstable
- colocateTableIndex.markGroupUnstable(groupId, "Colocation group
modified by user",
- false /* edit log is along with modify table log */);
table.setColocateGroup(assignedGroup);
} else {
// unset colocation group
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]