diff --git a/be/src/vec/sink/writer/vtablet_writer.cpp b/be/src/vec/sink/writer/vtablet_writer.cpp index 89519ad6ca..7ceb7f16d3 100644 --- a/be/src/vec/sink/writer/vtablet_writer.cpp +++ b/be/src/vec/sink/writer/vtablet_writer.cpp @@ -1059,6 +1059,9 @@ Status VTabletWriter::on_partitions_created(TCreatePartitionResult* result) { // add new tablet locations. it will use by address. so add to pool auto* new_locations = _pool->add(new std::vector(result->tablets)); _location->add_locations(*new_locations); + if (_write_single_replica) { + _slave_location->add_locations(*new_locations); + } // update new node info _nodes_info->add_nodes(result->nodes); 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 f85a621c96..485fde67fb 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 @@ -527,6 +527,7 @@ public class OlapTableSink extends DataSink { // for partition by function expr, there is no any partition firstly, But this is required in thrift struct. if (partitionIds.isEmpty()) { locationParam.setTablets(new ArrayList()); + slaveLocationParam.setTablets(new ArrayList()); } // check if disk capacity reach limit // this is for load process, so use high water mark to check