Skip to content

Commit b6a4635

Browse files
authored
[opt](meta-service)add real request ip for FE RPC to MS (#59107)
1 parent 2e5a428 commit b6a4635

22 files changed

+171
-57
lines changed

fe/fe-core/src/main/java/org/apache/doris/alter/CloudRollupJobV2.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.doris.proto.OlapFile;
3737
import org.apache.doris.qe.ConnectContext;
3838
import org.apache.doris.qe.OriginStatement;
39+
import org.apache.doris.service.FrontendOptions;
3940
import org.apache.doris.task.AgentTask;
4041
import org.apache.doris.task.AgentTaskQueue;
4142
import org.apache.doris.thrift.TTabletType;
@@ -207,7 +208,7 @@ private void createRollupReplicaForPartition(OlapTable tbl) throws Exception {
207208
TTabletType tabletType = tbl.getPartitionInfo().getTabletType(partitionId);
208209
MaterializedIndex rollupIndex = entry.getValue();
209210
Cloud.CreateTabletsRequest.Builder requestBuilder =
210-
Cloud.CreateTabletsRequest.newBuilder();
211+
Cloud.CreateTabletsRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
211212
List<String> rowStoreColumns =
212213
tbl.getTableProperty().getCopiedRowStoreColumns();
213214
for (Tablet rollupTablet : rollupIndex.getTablets()) {

fe/fe-core/src/main/java/org/apache/doris/alter/CloudSchemaChangeJobV2.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.doris.common.MetaNotFoundException;
3737
import org.apache.doris.proto.OlapFile;
3838
import org.apache.doris.qe.ConnectContext;
39+
import org.apache.doris.service.FrontendOptions;
3940
import org.apache.doris.task.AgentTask;
4041
import org.apache.doris.task.AgentTaskQueue;
4142
import org.apache.doris.thrift.TTaskType;
@@ -230,7 +231,8 @@ private void createShadowIndexReplicaForPartition(OlapTable tbl) throws Exceptio
230231
List<Index> tabletIndexes = originIndexId == tbl.getBaseIndexId() ? indexes : null;
231232

232233
Cloud.CreateTabletsRequest.Builder requestBuilder =
233-
Cloud.CreateTabletsRequest.newBuilder();
234+
Cloud.CreateTabletsRequest.newBuilder()
235+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
234236
for (Tablet shadowTablet : shadowIdx.getTablets()) {
235237
OlapFile.TabletMetaCloudPB.Builder builder =
236238
((CloudInternalCatalog) Env.getCurrentInternalCatalog())

fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.apache.doris.common.util.MasterDaemon;
3030
import org.apache.doris.metric.MetricRepo;
3131
import org.apache.doris.rpc.RpcException;
32+
import org.apache.doris.service.FrontendOptions;
3233

3334
import org.apache.logging.log4j.LogManager;
3435
import org.apache.logging.log4j.Logger;
@@ -65,7 +66,8 @@ protected void runAfterCatalogReady() {
6566
long start = System.currentTimeMillis();
6667

6768
List<GetTabletStatsRequest> reqList = new ArrayList<GetTabletStatsRequest>();
68-
GetTabletStatsRequest.Builder builder = GetTabletStatsRequest.newBuilder();
69+
GetTabletStatsRequest.Builder builder =
70+
GetTabletStatsRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
6971
List<Long> dbIds = Env.getCurrentInternalCatalog().getDbIds();
7072
for (Long dbId : dbIds) {
7173
Database db = Env.getCurrentInternalCatalog().getDbNullable(dbId);
@@ -96,7 +98,8 @@ protected void runAfterCatalogReady() {
9698

9799
if (builder.getTabletIdxCount() >= Config.get_tablet_stat_batch_size) {
98100
reqList.add(builder.build());
99-
builder = GetTabletStatsRequest.newBuilder();
101+
builder = GetTabletStatsRequest.newBuilder()
102+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
100103
}
101104
}
102105
}

fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
import org.apache.doris.resource.Tag;
6666
import org.apache.doris.resource.computegroup.ComputeGroup;
6767
import org.apache.doris.rpc.RpcException;
68+
import org.apache.doris.service.FrontendOptions;
6869
import org.apache.doris.statistics.AnalysisInfo;
6970
import org.apache.doris.statistics.AnalysisInfo.AnalysisType;
7071
import org.apache.doris.statistics.BaseAnalysisTask;
@@ -3286,6 +3287,7 @@ public long getVisibleVersion() throws RpcException {
32863287

32873288
// get version rpc
32883289
Cloud.GetVersionRequest request = Cloud.GetVersionRequest.newBuilder()
3290+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
32893291
.setDbId(this.getDatabase().getId())
32903292
.setTableId(this.id)
32913293
.setBatchMode(false)
@@ -3339,6 +3341,7 @@ public static List<Long> getVisibleVersionInBatch(Collection<OlapTable> tables)
33393341
private static List<Long> getVisibleVersionFromMeta(List<Long> dbIds, List<Long> tableIds) {
33403342
// get version rpc
33413343
Cloud.GetVersionRequest request = Cloud.GetVersionRequest.newBuilder()
3344+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
33423345
.setDbId(-1)
33433346
.setTableId(-1)
33443347
.setPartitionId(-1)

fe/fe-core/src/main/java/org/apache/doris/catalog/StorageVaultMgr.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.apache.doris.proto.InternalService.PAlterVaultSyncRequest;
3232
import org.apache.doris.rpc.BackendServiceProxy;
3333
import org.apache.doris.rpc.RpcException;
34+
import org.apache.doris.service.FrontendOptions;
3435
import org.apache.doris.system.Backend;
3536
import org.apache.doris.system.SystemInfoService;
3637
import org.apache.doris.thrift.TNetworkAddress;
@@ -197,7 +198,8 @@ public void alterStorageVault(StorageVaultType type, Map<String, String> propert
197198
throw new DdlException("Unknown storage vault type");
198199
}
199200
try {
200-
Cloud.AlterObjStoreInfoRequest.Builder request = Cloud.AlterObjStoreInfoRequest.newBuilder();
201+
Cloud.AlterObjStoreInfoRequest.Builder request = Cloud.AlterObjStoreInfoRequest.newBuilder()
202+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
201203
if (type == StorageVaultType.S3) {
202204
properties.keySet().stream()
203205
.filter(key -> !S3StorageVault.ALLOW_ALTER_PROPERTIES.contains(key))
@@ -241,7 +243,8 @@ public void alterStorageVault(StorageVaultType type, Map<String, String> propert
241243
}
242244

243245
public void setDefaultStorageVault(String vaultName) throws DdlException {
244-
Cloud.AlterObjStoreInfoRequest.Builder builder = Cloud.AlterObjStoreInfoRequest.newBuilder();
246+
Cloud.AlterObjStoreInfoRequest.Builder builder = Cloud.AlterObjStoreInfoRequest.newBuilder()
247+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
245248
Cloud.StorageVaultPB.Builder vaultBuilder = Cloud.StorageVaultPB.newBuilder();
246249
vaultBuilder.setName(vaultName);
247250
builder.setVault(vaultBuilder.build());
@@ -267,7 +270,8 @@ public void setDefaultStorageVault(String vaultName) throws DdlException {
267270
}
268271

269272
public void unsetDefaultStorageVault() throws DdlException {
270-
Cloud.AlterObjStoreInfoRequest.Builder builder = Cloud.AlterObjStoreInfoRequest.newBuilder();
273+
Cloud.AlterObjStoreInfoRequest.Builder builder = Cloud.AlterObjStoreInfoRequest.newBuilder()
274+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
271275
builder.setOp(Operation.UNSET_DEFAULT_VAULT);
272276
try {
273277
Cloud.AlterObjStoreInfoResponse resp =
@@ -295,7 +299,8 @@ public Pair<String, String> getDefaultStorageVault() {
295299
public StorageVaultType getStorageVaultTypeByName(String vaultName) throws DdlException {
296300
try {
297301
Cloud.GetObjStoreInfoResponse resp = MetaServiceProxy.getInstance()
298-
.getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder().build());
302+
.getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder()
303+
.setRequestIp(FrontendOptions.getLocalHostAddressCached()).build());
299304

300305
for (Cloud.StorageVaultPB vault : resp.getStorageVaultList()) {
301306
if (vault.getName().equals(vaultName)) {
@@ -317,7 +322,7 @@ public StorageVaultType getStorageVaultTypeByName(String vaultName) throws DdlEx
317322
public void createHdfsVault(StorageVault vault) throws Exception {
318323
Cloud.StorageVaultPB.Builder alterHdfsInfoBuilder = buildAlterStorageVaultRequest(vault);
319324
Cloud.AlterObjStoreInfoRequest.Builder requestBuilder
320-
= Cloud.AlterObjStoreInfoRequest.newBuilder();
325+
= Cloud.AlterObjStoreInfoRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
321326
requestBuilder.setOp(Cloud.AlterObjStoreInfoRequest.Operation.ADD_HDFS_INFO);
322327
requestBuilder.setVault(alterHdfsInfoBuilder.build());
323328
requestBuilder.setSetAsDefaultStorageVault(vault.setAsDefault());
@@ -367,7 +372,7 @@ private void alterSyncVaultTask() {
367372
public void createS3Vault(StorageVault vault) throws Exception {
368373
Cloud.StorageVaultPB.Builder s3StorageVaultBuilder = buildAlterStorageVaultRequest(vault);
369374
Cloud.AlterObjStoreInfoRequest.Builder requestBuilder
370-
= Cloud.AlterObjStoreInfoRequest.newBuilder();
375+
= Cloud.AlterObjStoreInfoRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
371376
requestBuilder.setOp(Cloud.AlterObjStoreInfoRequest.Operation.ADD_S3_VAULT);
372377
requestBuilder.setVault(s3StorageVaultBuilder);
373378
requestBuilder.setSetAsDefaultStorageVault(vault.setAsDefault());

fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import org.apache.doris.common.UserException;
3737
import org.apache.doris.common.util.DynamicPartitionUtil;
3838
import org.apache.doris.common.util.PropertyAnalyzer;
39+
import org.apache.doris.service.FrontendOptions;
3940

4041
import com.google.common.base.Preconditions;
4142
import com.google.common.collect.Lists;
@@ -425,7 +426,8 @@ public void updateCloudPartitionMeta(Database db,
425426
int nextIndex = tabletIds.size() - index > Config.cloud_txn_tablet_batch_size
426427
? index + Config.cloud_txn_tablet_batch_size
427428
: tabletIds.size();
428-
Cloud.UpdateTabletRequest.Builder requestBuilder = Cloud.UpdateTabletRequest.newBuilder();
429+
Cloud.UpdateTabletRequest.Builder requestBuilder = Cloud.UpdateTabletRequest.newBuilder()
430+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
429431
while (index < nextIndex) {
430432
Cloud.TabletMetaInfoPB.Builder infoBuilder = Cloud.TabletMetaInfoPB.newBuilder();
431433
infoBuilder.setTabletId(tabletIds.get(index));

fe/fe-core/src/main/java/org/apache/doris/cloud/backup/CloudRestoreJob.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import org.apache.doris.nereids.trees.plans.commands.RestoreCommand;
5454
import org.apache.doris.qe.AutoCloseConnectContext;
5555
import org.apache.doris.qe.ConnectContext;
56+
import org.apache.doris.service.FrontendOptions;
5657
import org.apache.doris.task.DownloadTask;
5758
import org.apache.doris.thrift.TStorageMedium;
5859

@@ -376,7 +377,8 @@ public void createReplicas(Database db, OlapTable localTbl, Partition restorePar
376377
for (int i = 0; i < restoreTablets.size(); i += maxCreateTabletBatchSize) {
377378
int end = Math.min(i + maxCreateTabletBatchSize, restoreTablets.size());
378379
List<Tablet> subRestoreTablets = restoreTablets.subList(i, end);
379-
Cloud.CreateTabletsRequest.Builder requestBuilder = Cloud.CreateTabletsRequest.newBuilder();
380+
Cloud.CreateTabletsRequest.Builder requestBuilder = Cloud.CreateTabletsRequest.newBuilder()
381+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
380382
for (Tablet restoreTablet : subRestoreTablets) {
381383
try {
382384
requestBuilder.addTabletMetas(((CloudInternalCatalog) Env.getCurrentInternalCatalog())

fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudPartition.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.apache.doris.qe.SessionVariable;
3333
import org.apache.doris.qe.StmtExecutor;
3434
import org.apache.doris.rpc.RpcException;
35+
import org.apache.doris.service.FrontendOptions;
3536

3637
import com.google.gson.annotations.SerializedName;
3738
import org.apache.logging.log4j.LogManager;
@@ -142,6 +143,7 @@ public long getVisibleVersionFromMs(boolean waitForPendingTxns) {
142143
}
143144

144145
Cloud.GetVersionRequest request = Cloud.GetVersionRequest.newBuilder()
146+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
145147
.setDbId(this.dbId)
146148
.setTableId(this.tableId)
147149
.setPartitionId(super.getId())
@@ -305,6 +307,7 @@ private static List<Long> getSnapshotVisibleVersion(List<Long> dbIds, List<Long>
305307
"partition ids size: " + partitionIds.size() + " should equals to tablet ids size: " + tableIds.size();
306308

307309
Cloud.GetVersionRequest req = Cloud.GetVersionRequest.newBuilder()
310+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
308311
.setDbId(-1)
309312
.setTableId(-1)
310313
.setPartitionId(-1)

fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.apache.doris.common.util.MasterDaemon;
4141
import org.apache.doris.metric.MetricRepo;
4242
import org.apache.doris.rpc.RpcException;
43+
import org.apache.doris.service.FrontendOptions;
4344
import org.apache.doris.system.Backend;
4445
import org.apache.doris.thrift.BackendService;
4546
import org.apache.doris.thrift.TCheckWarmUpCacheAsyncRequest;
@@ -758,7 +759,8 @@ public void checkDecommissionState(Map<String, List<Long>> clusterToBes) {
758759
}
759760
LOG.info("prepare to notify meta service be {} decommissioned", backend.getAddress());
760761
Cloud.AlterClusterRequest.Builder builder =
761-
Cloud.AlterClusterRequest.newBuilder();
762+
Cloud.AlterClusterRequest.newBuilder()
763+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
762764
builder.setCloudUniqueId(Config.cloud_unique_id);
763765
builder.setOp(Cloud.AlterClusterRequest.Operation.NOTIFY_DECOMMISSIONED);
764766

0 commit comments

Comments
 (0)