This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new 5bcc72ef335 branch-4.0: [opt](meta-service)add real request ip for FE
RPC to MS #59107 (#59386)
5bcc72ef335 is described below
commit 5bcc72ef335d22b2cc634ea665689f8787a62af5
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Dec 29 10:50:45 2025 +0800
branch-4.0: [opt](meta-service)add real request ip for FE RPC to MS #59107
(#59386)
Cherry-picked from #59107
Co-authored-by: koarz <[email protected]>
---
.../org/apache/doris/alter/CloudRollupJobV2.java | 3 +-
.../apache/doris/alter/CloudSchemaChangeJobV2.java | 4 +-
.../apache/doris/catalog/CloudTabletStatMgr.java | 7 ++-
.../java/org/apache/doris/catalog/OlapTable.java | 3 ++
.../org/apache/doris/catalog/StorageVaultMgr.java | 17 ++++---
.../cloud/alter/CloudSchemaChangeHandler.java | 4 +-
.../apache/doris/cloud/backup/CloudRestoreJob.java | 4 +-
.../apache/doris/cloud/catalog/CloudPartition.java | 3 ++
.../doris/cloud/catalog/CloudTabletRebalancer.java | 4 +-
.../cloud/datasource/CloudInternalCatalog.java | 58 ++++++++++++++++------
.../doris/cloud/snapshot/CloudSnapshotHandler.java | 6 ++-
.../doris/cloud/system/CloudSystemInfoService.java | 16 +++++-
.../transaction/CloudGlobalTransactionMgr.java | 54 +++++++++++++-------
.../doris/common/plugin/CloudPluginDownloader.java | 5 +-
.../insert/streaming/StreamingInsertJob.java | 7 ++-
.../load/routineload/KafkaRoutineLoadJob.java | 7 ++-
.../commands/AdminDropClusterSnapshotCommand.java | 6 ++-
.../AdminSetAutoClusterSnapshotCommand.java | 2 +
...dminSetClusterSnapshotFeatureSwitchCommand.java | 2 +
.../commands/ShowCreateStorageVaultCommand.java | 5 +-
.../plans/commands/ShowStorageVaultCommand.java | 5 +-
.../org/apache/doris/service/FrontendOptions.java | 6 +++
22 files changed, 171 insertions(+), 57 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/alter/CloudRollupJobV2.java
b/fe/fe-core/src/main/java/org/apache/doris/alter/CloudRollupJobV2.java
index 31f60edfc54..535e515fef0 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/CloudRollupJobV2.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/CloudRollupJobV2.java
@@ -36,6 +36,7 @@ import org.apache.doris.common.MetaNotFoundException;
import org.apache.doris.proto.OlapFile;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.OriginStatement;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.task.AgentTask;
import org.apache.doris.task.AgentTaskQueue;
import org.apache.doris.thrift.TTabletType;
@@ -207,7 +208,7 @@ public class CloudRollupJobV2 extends RollupJobV2 {
TTabletType tabletType =
tbl.getPartitionInfo().getTabletType(partitionId);
MaterializedIndex rollupIndex = entry.getValue();
Cloud.CreateTabletsRequest.Builder requestBuilder =
- Cloud.CreateTabletsRequest.newBuilder();
+
Cloud.CreateTabletsRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
List<String> rowStoreColumns =
tbl.getTableProperty().getCopiedRowStoreColumns();
for (Tablet rollupTablet : rollupIndex.getTablets()) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/alter/CloudSchemaChangeJobV2.java
b/fe/fe-core/src/main/java/org/apache/doris/alter/CloudSchemaChangeJobV2.java
index fcf4d7db209..286394135e8 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/alter/CloudSchemaChangeJobV2.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/alter/CloudSchemaChangeJobV2.java
@@ -36,6 +36,7 @@ import org.apache.doris.common.Config;
import org.apache.doris.common.MetaNotFoundException;
import org.apache.doris.proto.OlapFile;
import org.apache.doris.qe.ConnectContext;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.task.AgentTask;
import org.apache.doris.task.AgentTaskQueue;
import org.apache.doris.thrift.TTaskType;
@@ -230,7 +231,8 @@ public class CloudSchemaChangeJobV2 extends
SchemaChangeJobV2 {
List<Index> tabletIndexes = originIndexId ==
tbl.getBaseIndexId() ? indexes : null;
Cloud.CreateTabletsRequest.Builder requestBuilder =
- Cloud.CreateTabletsRequest.newBuilder();
+ Cloud.CreateTabletsRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
for (Tablet shadowTablet : shadowIdx.getTablets()) {
OlapFile.TabletMetaCloudPB.Builder builder =
((CloudInternalCatalog)
Env.getCurrentInternalCatalog())
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java
index 01f7212cac9..8b519c59867 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/CloudTabletStatMgr.java
@@ -29,6 +29,7 @@ import org.apache.doris.common.Pair;
import org.apache.doris.common.util.MasterDaemon;
import org.apache.doris.metric.MetricRepo;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -65,7 +66,8 @@ public class CloudTabletStatMgr extends MasterDaemon {
long start = System.currentTimeMillis();
List<GetTabletStatsRequest> reqList = new
ArrayList<GetTabletStatsRequest>();
- GetTabletStatsRequest.Builder builder =
GetTabletStatsRequest.newBuilder();
+ GetTabletStatsRequest.Builder builder =
+
GetTabletStatsRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
List<Long> dbIds = Env.getCurrentInternalCatalog().getDbIds();
for (Long dbId : dbIds) {
Database db = Env.getCurrentInternalCatalog().getDbNullable(dbId);
@@ -96,7 +98,8 @@ public class CloudTabletStatMgr extends MasterDaemon {
if (builder.getTabletIdxCount() >=
Config.get_tablet_stat_batch_size) {
reqList.add(builder.build());
- builder =
GetTabletStatsRequest.newBuilder();
+ builder =
GetTabletStatsRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
}
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java
index 2ff2a717594..7607d2c8be7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java
@@ -65,6 +65,7 @@ import org.apache.doris.qe.OriginStatement;
import org.apache.doris.resource.Tag;
import org.apache.doris.resource.computegroup.ComputeGroup;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.statistics.AnalysisInfo;
import org.apache.doris.statistics.AnalysisInfo.AnalysisType;
import org.apache.doris.statistics.BaseAnalysisTask;
@@ -3286,6 +3287,7 @@ public class OlapTable extends Table implements
MTMVRelatedTableIf, GsonPostProc
// get version rpc
Cloud.GetVersionRequest request = Cloud.GetVersionRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setDbId(this.getDatabase().getId())
.setTableId(this.id)
.setBatchMode(false)
@@ -3339,6 +3341,7 @@ public class OlapTable extends Table implements
MTMVRelatedTableIf, GsonPostProc
private static List<Long> getVisibleVersionFromMeta(List<Long> dbIds,
List<Long> tableIds) {
// get version rpc
Cloud.GetVersionRequest request = Cloud.GetVersionRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setDbId(-1)
.setTableId(-1)
.setPartitionId(-1)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/catalog/StorageVaultMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/catalog/StorageVaultMgr.java
index bdb6ce205ed..1b3158b561a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/StorageVaultMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/StorageVaultMgr.java
@@ -31,6 +31,7 @@ import
org.apache.doris.nereids.trees.plans.commands.CreateStorageVaultCommand;
import org.apache.doris.proto.InternalService.PAlterVaultSyncRequest;
import org.apache.doris.rpc.BackendServiceProxy;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.system.Backend;
import org.apache.doris.system.SystemInfoService;
import org.apache.doris.thrift.TNetworkAddress;
@@ -197,7 +198,8 @@ public class StorageVaultMgr {
throw new DdlException("Unknown storage vault type");
}
try {
- Cloud.AlterObjStoreInfoRequest.Builder request =
Cloud.AlterObjStoreInfoRequest.newBuilder();
+ Cloud.AlterObjStoreInfoRequest.Builder request =
Cloud.AlterObjStoreInfoRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
if (type == StorageVaultType.S3) {
properties.keySet().stream()
.filter(key ->
!S3StorageVault.ALLOW_ALTER_PROPERTIES.contains(key))
@@ -241,7 +243,8 @@ public class StorageVaultMgr {
}
public void setDefaultStorageVault(String vaultName) throws DdlException {
- Cloud.AlterObjStoreInfoRequest.Builder builder =
Cloud.AlterObjStoreInfoRequest.newBuilder();
+ Cloud.AlterObjStoreInfoRequest.Builder builder =
Cloud.AlterObjStoreInfoRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
Cloud.StorageVaultPB.Builder vaultBuilder =
Cloud.StorageVaultPB.newBuilder();
vaultBuilder.setName(vaultName);
builder.setVault(vaultBuilder.build());
@@ -267,7 +270,8 @@ public class StorageVaultMgr {
}
public void unsetDefaultStorageVault() throws DdlException {
- Cloud.AlterObjStoreInfoRequest.Builder builder =
Cloud.AlterObjStoreInfoRequest.newBuilder();
+ Cloud.AlterObjStoreInfoRequest.Builder builder =
Cloud.AlterObjStoreInfoRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setOp(Operation.UNSET_DEFAULT_VAULT);
try {
Cloud.AlterObjStoreInfoResponse resp =
@@ -295,7 +299,8 @@ public class StorageVaultMgr {
public StorageVaultType getStorageVaultTypeByName(String vaultName) throws
DdlException {
try {
Cloud.GetObjStoreInfoResponse resp = MetaServiceProxy.getInstance()
-
.getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder().build());
+ .getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached()).build());
for (Cloud.StorageVaultPB vault : resp.getStorageVaultList()) {
if (vault.getName().equals(vaultName)) {
@@ -317,7 +322,7 @@ public class StorageVaultMgr {
public void createHdfsVault(StorageVault vault) throws Exception {
Cloud.StorageVaultPB.Builder alterHdfsInfoBuilder =
buildAlterStorageVaultRequest(vault);
Cloud.AlterObjStoreInfoRequest.Builder requestBuilder
- = Cloud.AlterObjStoreInfoRequest.newBuilder();
+ =
Cloud.AlterObjStoreInfoRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
requestBuilder.setOp(Cloud.AlterObjStoreInfoRequest.Operation.ADD_HDFS_INFO);
requestBuilder.setVault(alterHdfsInfoBuilder.build());
requestBuilder.setSetAsDefaultStorageVault(vault.setAsDefault());
@@ -367,7 +372,7 @@ public class StorageVaultMgr {
public void createS3Vault(StorageVault vault) throws Exception {
Cloud.StorageVaultPB.Builder s3StorageVaultBuilder =
buildAlterStorageVaultRequest(vault);
Cloud.AlterObjStoreInfoRequest.Builder requestBuilder
- = Cloud.AlterObjStoreInfoRequest.newBuilder();
+ =
Cloud.AlterObjStoreInfoRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
requestBuilder.setOp(Cloud.AlterObjStoreInfoRequest.Operation.ADD_S3_VAULT);
requestBuilder.setVault(s3StorageVaultBuilder);
requestBuilder.setSetAsDefaultStorageVault(vault.setAsDefault());
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java
index 86fa8edc096..1b4c1899845 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/alter/CloudSchemaChangeHandler.java
@@ -36,6 +36,7 @@ import org.apache.doris.common.MetaNotFoundException;
import org.apache.doris.common.UserException;
import org.apache.doris.common.util.DynamicPartitionUtil;
import org.apache.doris.common.util.PropertyAnalyzer;
+import org.apache.doris.service.FrontendOptions;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
@@ -425,7 +426,8 @@ public class CloudSchemaChangeHandler extends
SchemaChangeHandler {
int nextIndex = tabletIds.size() - index >
Config.cloud_txn_tablet_batch_size
? index + Config.cloud_txn_tablet_batch_size
: tabletIds.size();
- Cloud.UpdateTabletRequest.Builder requestBuilder =
Cloud.UpdateTabletRequest.newBuilder();
+ Cloud.UpdateTabletRequest.Builder requestBuilder =
Cloud.UpdateTabletRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
while (index < nextIndex) {
Cloud.TabletMetaInfoPB.Builder infoBuilder =
Cloud.TabletMetaInfoPB.newBuilder();
infoBuilder.setTabletId(tabletIds.get(index));
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/backup/CloudRestoreJob.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/backup/CloudRestoreJob.java
index f9b1840f574..57a2888f628 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/backup/CloudRestoreJob.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/backup/CloudRestoreJob.java
@@ -53,6 +53,7 @@ import org.apache.doris.common.UserException;
import org.apache.doris.nereids.trees.plans.commands.RestoreCommand;
import org.apache.doris.qe.AutoCloseConnectContext;
import org.apache.doris.qe.ConnectContext;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.task.DownloadTask;
import org.apache.doris.thrift.TStorageMedium;
@@ -376,7 +377,8 @@ public class CloudRestoreJob extends RestoreJob {
for (int i = 0; i < restoreTablets.size(); i +=
maxCreateTabletBatchSize) {
int end = Math.min(i + maxCreateTabletBatchSize,
restoreTablets.size());
List<Tablet> subRestoreTablets = restoreTablets.subList(i,
end);
- Cloud.CreateTabletsRequest.Builder requestBuilder =
Cloud.CreateTabletsRequest.newBuilder();
+ Cloud.CreateTabletsRequest.Builder requestBuilder =
Cloud.CreateTabletsRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
for (Tablet restoreTablet : subRestoreTablets) {
try {
requestBuilder.addTabletMetas(((CloudInternalCatalog)
Env.getCurrentInternalCatalog())
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudPartition.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudPartition.java
index 9c957b70720..8343400f43b 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudPartition.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudPartition.java
@@ -32,6 +32,7 @@ import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.SessionVariable;
import org.apache.doris.qe.StmtExecutor;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import com.google.gson.annotations.SerializedName;
import org.apache.logging.log4j.LogManager;
@@ -137,6 +138,7 @@ public class CloudPartition extends Partition {
}
Cloud.GetVersionRequest request = Cloud.GetVersionRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setDbId(this.dbId)
.setTableId(this.tableId)
.setPartitionId(super.getId())
@@ -297,6 +299,7 @@ public class CloudPartition extends Partition {
"partition ids size: " + partitionIds.size() + " should equals
to tablet ids size: " + tableIds.size();
Cloud.GetVersionRequest req = Cloud.GetVersionRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setDbId(-1)
.setTableId(-1)
.setPartitionId(-1)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java
index bbdec086030..056561b198e 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java
@@ -39,6 +39,7 @@ import org.apache.doris.common.UserException;
import org.apache.doris.common.util.DebugPointUtil;
import org.apache.doris.common.util.MasterDaemon;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.system.Backend;
import org.apache.doris.thrift.BackendService;
import org.apache.doris.thrift.TCheckWarmUpCacheAsyncRequest;
@@ -748,7 +749,8 @@ public class CloudTabletRebalancer extends MasterDaemon {
}
LOG.info("prepare to notify meta service be {}
decommissioned", backend.getAddress());
Cloud.AlterClusterRequest.Builder builder =
- Cloud.AlterClusterRequest.newBuilder();
+ Cloud.AlterClusterRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setCloudUniqueId(Config.cloud_unique_id);
builder.setOp(Cloud.AlterClusterRequest.Operation.NOTIFY_DECOMMISSIONED);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
index b4b108fa02d..b68e64f4cf9 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/datasource/CloudInternalCatalog.java
@@ -62,6 +62,7 @@ import org.apache.doris.proto.OlapFile.EncryptionAlgorithmPB;
import org.apache.doris.proto.Types;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.thrift.TCompressionType;
import org.apache.doris.thrift.TInvertedIndexFileStorageFormat;
import org.apache.doris.thrift.TSortType;
@@ -166,6 +167,7 @@ public class CloudInternalCatalog extends InternalCatalog {
clusterKeyUids = OlapTable.getClusterKeyUids(columns);
}
Cloud.CreateTabletsRequest.Builder requestBuilder =
Cloud.CreateTabletsRequest.newBuilder();
+
requestBuilder.setRequestIp(FrontendOptions.getLocalHostAddressCached());
List<String> rowStoreColumns =
tbl.getTableProperty().getCopiedRowStoreColumns();
for (Tablet tablet : index.getTablets()) {
@@ -483,7 +485,8 @@ public class CloudInternalCatalog extends InternalCatalog {
return;
}
- Cloud.PartitionRequest.Builder partitionRequestBuilder =
Cloud.PartitionRequest.newBuilder();
+ Cloud.PartitionRequest.Builder partitionRequestBuilder =
Cloud.PartitionRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
partitionRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
partitionRequestBuilder.setTableId(tableId);
partitionRequestBuilder.addAllPartitionIds(partitionIds);
@@ -528,7 +531,8 @@ public class CloudInternalCatalog extends InternalCatalog {
return;
}
- Cloud.PartitionRequest.Builder partitionRequestBuilder =
Cloud.PartitionRequest.newBuilder();
+ Cloud.PartitionRequest.Builder partitionRequestBuilder =
Cloud.PartitionRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
partitionRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
partitionRequestBuilder.addAllPartitionIds(partitionIds);
partitionRequestBuilder.addAllIndexIds(indexIds);
@@ -566,7 +570,8 @@ public class CloudInternalCatalog extends InternalCatalog {
return;
}
- Cloud.IndexRequest.Builder indexRequestBuilder =
Cloud.IndexRequest.newBuilder();
+ Cloud.IndexRequest.Builder indexRequestBuilder =
Cloud.IndexRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
indexRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
indexRequestBuilder.addAllIndexIds(indexIds);
indexRequestBuilder.setTableId(tableId);
@@ -603,7 +608,8 @@ public class CloudInternalCatalog extends InternalCatalog {
return;
}
- Cloud.IndexRequest.Builder indexRequestBuilder =
Cloud.IndexRequest.newBuilder();
+ Cloud.IndexRequest.Builder indexRequestBuilder =
Cloud.IndexRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
indexRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
indexRequestBuilder.addAllIndexIds(indexIds);
indexRequestBuilder.setDbId(dbId);
@@ -647,7 +653,8 @@ public class CloudInternalCatalog extends InternalCatalog {
checkKeyInfosBuilder.addDbIds(dbId);
checkKeyInfosBuilder.addTableIds(tableId);
- Cloud.CheckKVRequest.Builder checkKvRequestBuilder =
Cloud.CheckKVRequest.newBuilder();
+ Cloud.CheckKVRequest.Builder checkKvRequestBuilder =
Cloud.CheckKVRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
checkKvRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
checkKvRequestBuilder.setCheckKeys(checkKeyInfosBuilder.build());
checkKvRequestBuilder.setOp(Cloud.CheckKVRequest.Operation.CREATE_PARTITION_AFTER_FE_COMMIT);
@@ -687,7 +694,8 @@ public class CloudInternalCatalog extends InternalCatalog {
checkKeyInfosBuilder.addDbIds(dbId);
checkKeyInfosBuilder.addTableIds(tableId);
- Cloud.CheckKVRequest.Builder checkKvRequestBuilder =
Cloud.CheckKVRequest.newBuilder();
+ Cloud.CheckKVRequest.Builder checkKvRequestBuilder =
Cloud.CheckKVRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
checkKvRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
checkKvRequestBuilder.setCheckKeys(checkKeyInfosBuilder.build());
checkKvRequestBuilder.setOp(Cloud.CheckKVRequest.Operation.CREATE_INDEX_AFTER_FE_COMMIT);
@@ -850,7 +858,7 @@ public class CloudInternalCatalog extends InternalCatalog {
}
Cloud.PartitionRequest.Builder partitionRequestBuilder =
- Cloud.PartitionRequest.newBuilder();
+
Cloud.PartitionRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
partitionRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
partitionRequestBuilder.setTableId(tableId);
partitionRequestBuilder.addAllPartitionIds(partitionIds);
@@ -887,7 +895,8 @@ public class CloudInternalCatalog extends InternalCatalog {
public void removeSchemaChangeJob(long jobId, long dbId, long tableId,
long indexId, long newIndexId,
long partitionId, long tabletId, long newTabletId)
throws DdlException {
- Cloud.FinishTabletJobRequest.Builder finishTabletJobRequestBuilder =
Cloud.FinishTabletJobRequest.newBuilder();
+ Cloud.FinishTabletJobRequest.Builder finishTabletJobRequestBuilder =
+
Cloud.FinishTabletJobRequest.newBuilder().setRequestIp(FrontendOptions.getLocalHostAddressCached());
finishTabletJobRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
finishTabletJobRequestBuilder.setAction(Cloud.FinishTabletJobRequest.Action.ABORT);
Cloud.TabletJobInfoPB.Builder tabletJobInfoPBBuilder =
Cloud.TabletJobInfoPB.newBuilder();
@@ -952,7 +961,8 @@ public class CloudInternalCatalog extends InternalCatalog {
return;
}
- Cloud.IndexRequest.Builder indexRequestBuilder =
Cloud.IndexRequest.newBuilder();
+ Cloud.IndexRequest.Builder indexRequestBuilder =
Cloud.IndexRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
indexRequestBuilder.setCloudUniqueId(Config.cloud_unique_id);
indexRequestBuilder.addAllIndexIds(indexIds);
indexRequestBuilder.setTableId(tableId);
@@ -1119,7 +1129,10 @@ public class CloudInternalCatalog extends
InternalCatalog {
}
Cloud.CreateStageRequest createStageRequest =
Cloud.CreateStageRequest.newBuilder()
-
.setCloudUniqueId(Config.cloud_unique_id).setStage(stagePB).build();
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setStage(stagePB)
+ .build();
Cloud.CreateStageResponse response = null;
int retryTime = 0;
while (retryTime++ < 3) {
@@ -1225,7 +1238,9 @@ public class CloudInternalCatalog extends InternalCatalog
{
private Cloud.GetStageResponse getStageRpc(Cloud.StagePB.StageType
stageType, String userName,
String stageName, String
userId) throws DdlException {
Cloud.GetStageRequest.Builder builder =
Cloud.GetStageRequest.newBuilder()
- .setCloudUniqueId(Config.cloud_unique_id).setType(stageType);
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setType(stageType);
if (userName != null) {
builder.setMysqlUserName(userName);
}
@@ -1257,7 +1272,9 @@ public class CloudInternalCatalog extends InternalCatalog
{
}
Cloud.DropStageRequest.Builder builder =
Cloud.DropStageRequest.newBuilder()
- .setCloudUniqueId(Config.cloud_unique_id).setType(stageType);
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setType(stageType);
if (userName != null) {
builder.setMysqlUserName(userName);
}
@@ -1318,6 +1335,7 @@ public class CloudInternalCatalog extends InternalCatalog
{
long sizeLimit, int fileNumLimit, int
fileMetaSizeLimit) throws DdlException {
Cloud.BeginCopyRequest request = Cloud.BeginCopyRequest.newBuilder()
.setCloudUniqueId(Config.cloud_unique_id).setStageId(stageId).setStageType(stageType)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setTableId(tableId).setCopyId(copyJobId).setGroupId(groupId).setStartTimeMs(startTime)
.setTimeoutTimeMs(timeoutTime).addAllObjectFiles(objectFiles).setFileNumLimit(fileNumLimit)
.setFileSizeLimit(sizeLimit).setFileMetaSizeLimit(fileMetaSizeLimit).build();
@@ -1347,7 +1365,8 @@ public class CloudInternalCatalog extends InternalCatalog
{
public Cloud.GetIamResponse getIam() throws DdlException {
Cloud.GetIamRequest.Builder builder = Cloud.GetIamRequest.newBuilder()
- .setCloudUniqueId(Config.cloud_unique_id);
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
Cloud.GetIamResponse response = null;
try {
response = MetaServiceProxy.getInstance().getIam(builder.build());
@@ -1362,6 +1381,7 @@ public class CloudInternalCatalog extends InternalCatalog
{
int groupId, Action action) throws DdlException {
Cloud.FinishCopyRequest request = Cloud.FinishCopyRequest.newBuilder()
.setCloudUniqueId(Config.cloud_unique_id).setStageId(stageId).setStageType(stageType)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setTableId(tableId).setCopyId(copyJobId).setGroupId(groupId)
.setAction(action).setFinishTimeMs(System.currentTimeMillis()).build();
Cloud.FinishCopyResponse response = null;
@@ -1399,7 +1419,9 @@ public class CloudInternalCatalog extends InternalCatalog
{
public CopyJobPB getCopyJob(String stageId, long tableId, String
copyJobId, int groupId) throws DdlException {
Cloud.GetCopyJobRequest request = Cloud.GetCopyJobRequest.newBuilder()
-
.setCloudUniqueId(Config.cloud_unique_id).setStageId(stageId).setTableId(tableId).setCopyId(copyJobId)
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setStageId(stageId).setTableId(tableId).setCopyId(copyJobId)
.setGroupId(groupId).build();
Cloud.GetCopyJobResponse response = null;
try {
@@ -1417,7 +1439,9 @@ public class CloudInternalCatalog extends InternalCatalog
{
public List<ObjectFilePB> getCopyFiles(String stageId, long tableId)
throws DdlException {
Cloud.GetCopyFilesRequest.Builder builder =
Cloud.GetCopyFilesRequest.newBuilder()
-
.setCloudUniqueId(Config.cloud_unique_id).setStageId(stageId).setTableId(tableId);
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setStageId(stageId).setTableId(tableId);
Cloud.GetCopyFilesResponse response = null;
try {
response =
MetaServiceProxy.getInstance().getCopyFiles(builder.build());
@@ -1435,7 +1459,9 @@ public class CloudInternalCatalog extends InternalCatalog
{
public List<ObjectFilePB> filterCopyFiles(String stageId, long tableId,
List<ObjectFile> objectFiles)
throws DdlException {
Cloud.FilterCopyFilesRequest.Builder builder =
Cloud.FilterCopyFilesRequest.newBuilder()
-
.setCloudUniqueId(Config.cloud_unique_id).setStageId(stageId).setTableId(tableId);
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setStageId(stageId).setTableId(tableId);
for (ObjectFile objectFile : objectFiles) {
builder.addObjectFiles(
ObjectFilePB.newBuilder().setRelativePath(objectFile.getRelativePath())
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/snapshot/CloudSnapshotHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/snapshot/CloudSnapshotHandler.java
index 49542cf2ad1..dad391cc948 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/snapshot/CloudSnapshotHandler.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/snapshot/CloudSnapshotHandler.java
@@ -24,6 +24,7 @@ import org.apache.doris.common.DdlException;
import org.apache.doris.common.NotImplementedException;
import org.apache.doris.common.util.MasterDaemon;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -76,7 +77,10 @@ public class CloudSnapshotHandler extends MasterDaemon {
public Cloud.ListSnapshotResponse listSnapshot(boolean includeAborted)
throws DdlException {
try {
Cloud.ListSnapshotRequest request =
Cloud.ListSnapshotRequest.newBuilder()
-
.setCloudUniqueId(Config.cloud_unique_id).setIncludeAborted(includeAborted).build();
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setIncludeAborted(includeAborted)
+ .build();
Cloud.ListSnapshotResponse response =
MetaServiceProxy.getInstance().listSnapshot(request);
if (response.getStatus().getCode() != Cloud.MetaServiceCode.OK) {
LOG.warn("listSnapshot response: {} ", response);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
index 9708d49686f..f21da5e039a 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
@@ -43,6 +43,7 @@ import
org.apache.doris.nereids.trees.plans.commands.info.ModifyBackendOp;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.resource.Tag;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.system.Backend;
import org.apache.doris.system.Frontend;
import org.apache.doris.system.SystemInfoService;
@@ -234,6 +235,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
public Cloud.GetClusterResponse getCloudCluster(String clusterName, String
clusterId, String userName) {
Cloud.GetClusterRequest.Builder builder =
Cloud.GetClusterRequest.newBuilder();
builder.setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setClusterName(clusterName).setClusterId(clusterId).setMysqlUserName(userName);
final Cloud.GetClusterRequest pRequest = builder.build();
Cloud.GetClusterResponse response;
@@ -466,6 +468,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
.build();
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(Cloud.AlterClusterRequest.Operation.ALTER_VCLUSTER_INFO)
.setCluster(clusterPB)
.build();
@@ -510,6 +513,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(Cloud.AlterClusterRequest.Operation.ALTER_VCLUSTER_INFO)
.setCluster(clusterPB)
.build();
@@ -555,6 +559,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(operation)
.setCluster(clusterPB)
.build();
@@ -623,6 +628,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(Cloud.AlterClusterRequest.Operation.ADD_NODE)
.setCluster(clusterPB)
.build();
@@ -1254,6 +1260,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(op)
.setCluster(clusterPB)
.build();
@@ -1297,6 +1304,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(Cloud.AlterClusterRequest.Operation.ADD_CLUSTER)
.setCluster(clusterPB)
.build();
@@ -1349,7 +1357,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
public Cloud.GetInstanceResponse getCloudInstance() {
Cloud.GetInstanceRequest.Builder builder =
Cloud.GetInstanceRequest.newBuilder();
- builder.setCloudUniqueId(Config.cloud_unique_id);
+
builder.setCloudUniqueId(Config.cloud_unique_id).setRequestIp(FrontendOptions.getLocalHostAddressCached());
final Cloud.GetInstanceRequest pRequest = builder.build();
Cloud.GetInstanceResponse response;
try {
@@ -1455,6 +1463,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
}
Cloud.AlterClusterRequest.Builder builder =
Cloud.AlterClusterRequest.newBuilder();
builder.setCloudUniqueId(Config.cloud_unique_id);
+ builder.setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setOp(Cloud.AlterClusterRequest.Operation.SET_CLUSTER_STATUS);
ClusterPB.Builder clusterBuilder = ClusterPB.newBuilder();
@@ -1523,6 +1532,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
builder.setInstanceId(instanceId);
builder.setName(name);
builder.setSseEnabled(sseEnabled);
+ builder.setRequestIp(FrontendOptions.getLocalHostAddressCached());
Cloud.CreateInstanceResponse response;
try {
@@ -1544,7 +1554,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
public String getInstanceId(String cloudUniqueId) throws IOException {
Cloud.GetInstanceRequest.Builder builder =
Cloud.GetInstanceRequest.newBuilder();
- builder.setCloudUniqueId(cloudUniqueId);
+
builder.setCloudUniqueId(cloudUniqueId).setRequestIp(FrontendOptions.getLocalHostAddressCached());
Cloud.GetInstanceResponse response;
try {
@@ -1643,6 +1653,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(Cloud.AlterClusterRequest.Operation.RENAME_CLUSTER)
.setReplaceIfExistingEmptyTargetCluster(true)
.setCluster(clusterPB)
@@ -1687,6 +1698,7 @@ public class CloudSystemInfoService extends
SystemInfoService {
Cloud.AlterClusterRequest request =
Cloud.AlterClusterRequest.newBuilder()
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setOp(Cloud.AlterClusterRequest.Operation.ALTER_PROPERTIES)
.setCluster(clusterPB)
.build();
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
index 3503ad78bbc..8c636ec678a 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
@@ -95,6 +95,7 @@ import
org.apache.doris.persist.BatchRemoveTransactionsOperationV2;
import org.apache.doris.persist.EditLog;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.task.AgentBatchTask;
import org.apache.doris.task.AgentTaskExecutor;
import org.apache.doris.task.AgentTaskQueue;
@@ -304,6 +305,7 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
final BeginTxnRequest beginTxnRequest =
BeginTxnRequest.newBuilder()
.setTxnInfo(txnInfoBuilder.build())
.setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.build();
while (retryTime < Config.metaServiceRpcRetryTimes()) {
@@ -362,7 +364,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
throw new TransactionCommitFailedException("disable_load_job is
set to true, all load jobs are prevented");
}
- PrecommitTxnRequest.Builder builder = PrecommitTxnRequest.newBuilder();
+ PrecommitTxnRequest.Builder builder = PrecommitTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(db.getId());
builder.setTxnId(transactionId);
@@ -599,7 +602,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
Config.calculate_delete_bitmap_task_timeout_seconds);
}
- CommitTxnRequest.Builder builder = CommitTxnRequest.newBuilder();
+ CommitTxnRequest.Builder builder = CommitTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId)
.setTxnId(transactionId)
.setIs2Pc(is2PC)
@@ -1062,7 +1066,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
try {
getPartitionInfo(mowTableList, tabletCommitInfos, lockContext);
for (Map.Entry<Long, Set<Long>> entry :
lockContext.getTableToPartitions().entrySet()) {
- GetDeleteBitmapUpdateLockRequest.Builder builder =
GetDeleteBitmapUpdateLockRequest.newBuilder();
+ GetDeleteBitmapUpdateLockRequest.Builder builder =
GetDeleteBitmapUpdateLockRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
long tableId = entry.getKey();
builder.setTableId(tableId).setLockId(transactionId).setInitiator(-1)
.setExpiration(Config.delete_bitmap_lock_expiration_seconds).setRequireCompactionStats(true);
@@ -1227,7 +1232,9 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
private void removeDeleteBitmapUpdateLock(List<OlapTable> tableList, long
transactionId) {
for (OlapTable table : tableList) {
- RemoveDeleteBitmapUpdateLockRequest.Builder builder =
RemoveDeleteBitmapUpdateLockRequest.newBuilder();
+ RemoveDeleteBitmapUpdateLockRequest.Builder builder =
+ RemoveDeleteBitmapUpdateLockRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setTableId(table.getId())
.setLockId(transactionId)
.setInitiator(-1);
@@ -1512,7 +1519,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
}
cleanSubTransactions(transactionId);
- CommitTxnRequest.Builder builder = CommitTxnRequest.newBuilder();
+ CommitTxnRequest.Builder builder = CommitTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId)
.setTxnId(transactionId)
.setIs2Pc(false)
@@ -1723,7 +1731,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
TxnCommitAttachment txnCommitAttachment) throws UserException {
LOG.info("try to abort transaction, dbId:{}, transactionId:{}, reason:
{}", dbId, transactionId, reason);
- AbortTxnRequest.Builder builder = AbortTxnRequest.newBuilder();
+ AbortTxnRequest.Builder builder = AbortTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
if (reason != null && reason.length() > 1024) {
reason = reason.substring(0, 1024) + " ... (reason is truncated,
check fe.log with txnId for details)";
}
@@ -1819,7 +1828,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
public void abortTransaction(Long dbId, String label, String reason)
throws UserException {
LOG.info("try to abort transaction, dbId:{}, label:{}", dbId, label);
- AbortTxnRequest.Builder builder = AbortTxnRequest.newBuilder();
+ AbortTxnRequest.Builder builder = AbortTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId);
builder.setLabel(label);
builder.setReason(reason);
@@ -1890,7 +1900,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
if (endTransactionId <= 0) {
throw new UserException("Invaid endTransactionId:" +
endTransactionId);
}
- CheckTxnConflictRequest.Builder builder =
CheckTxnConflictRequest.newBuilder();
+ CheckTxnConflictRequest.Builder builder =
CheckTxnConflictRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId);
builder.setEndTxnId(endTransactionId);
builder.addAllTableIds(tableIdList);
@@ -1927,7 +1938,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
if (endTransactionId <= 0) {
throw new AnalysisException("Invaid endTransactionId:" +
endTransactionId);
}
- CheckTxnConflictRequest.Builder builder =
CheckTxnConflictRequest.newBuilder();
+ CheckTxnConflictRequest.Builder builder =
CheckTxnConflictRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId);
builder.setEndTxnId(endTransactionId);
builder.addAllTableIds(tableIdList);
@@ -1963,7 +1975,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
if (endTransactionId <= 0) {
throw new AnalysisException("Invaid endTransactionId:" +
endTransactionId);
}
- CheckTxnConflictRequest.Builder builder =
CheckTxnConflictRequest.newBuilder();
+ CheckTxnConflictRequest.Builder builder =
CheckTxnConflictRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId);
builder.setEndTxnId(endTransactionId);
builder.addAllTableIds(tableIdList);
@@ -1994,7 +2007,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
public void cleanLabel(Long dbId, String label, boolean isReplay) throws
Exception {
LOG.info("try to cleanLabel dbId: {}, label:{}", dbId, label);
- CleanTxnLabelRequest.Builder builder =
CleanTxnLabelRequest.newBuilder();
+ CleanTxnLabelRequest.Builder builder =
CleanTxnLabelRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId).setCloudUniqueId(Config.cloud_unique_id);
if (!Strings.isNullOrEmpty(label)) {
@@ -2090,7 +2104,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
@Override
public void abortTxnWhenCoordinateBeRestart(long coordinateBeId, String
coordinateHost, long beStartTime) {
- AbortTxnWithCoordinatorRequest.Builder builder =
AbortTxnWithCoordinatorRequest.newBuilder();
+ AbortTxnWithCoordinatorRequest.Builder builder =
AbortTxnWithCoordinatorRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setIp(coordinateHost);
builder.setId(coordinateBeId);
builder.setStartTime(beStartTime);
@@ -2131,7 +2146,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
@Override
public TransactionStatus getLabelState(long dbId, String label) throws
AnalysisException {
- GetTxnRequest.Builder builder = GetTxnRequest.newBuilder();
+ GetTxnRequest.Builder builder = GetTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId).setCloudUniqueId(Config.cloud_unique_id).setLabel(label);
final GetTxnRequest getTxnRequest = builder.build();
GetTxnResponse getTxnResponse = null;
@@ -2187,7 +2203,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
if (LOG.isDebugEnabled()) {
LOG.debug("try to get transaction state, dbId:{},
transactionId:{}", dbId, transactionId);
}
- GetTxnRequest.Builder builder = GetTxnRequest.newBuilder();
+ GetTxnRequest.Builder builder = GetTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId);
builder.setTxnId(transactionId);
builder.setCloudUniqueId(Config.cloud_unique_id);
@@ -2218,7 +2235,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
public Long getTransactionIdByLabel(Long dbId, String label,
List<TransactionStatus> statusList)
throws UserException {
LOG.info("try to get transaction id by label, dbId:{}, label:{}",
dbId, label);
- GetTxnIdRequest.Builder builder = GetTxnIdRequest.newBuilder();
+ GetTxnIdRequest.Builder builder = GetTxnIdRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setDbId(dbId);
builder.setLabel(label);
builder.setCloudUniqueId(Config.cloud_unique_id);
@@ -2265,7 +2283,8 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
@Override
public Long getNextTransactionId() throws UserException {
- GetCurrentMaxTxnRequest.Builder builder =
GetCurrentMaxTxnRequest.newBuilder();
+ GetCurrentMaxTxnRequest.Builder builder =
GetCurrentMaxTxnRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setCloudUniqueId(Config.cloud_unique_id);
final GetCurrentMaxTxnRequest getCurrentMaxTxnRequest =
builder.build();
@@ -2436,6 +2455,7 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
LOG.info("try to begin sub transaction, txnId: {}, dbId: {}, tableIds:
{}, label: {}, subTxnNum: {}", txnId,
dbId, tableIds, label, subTxnNum);
BeginSubTxnRequest request =
BeginSubTxnRequest.newBuilder().setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setTxnId(txnId).setDbId(dbId).addAllTableIds(tableIds).setLabel(label).setSubTxnNum(subTxnNum).build();
BeginSubTxnResponse response = null;
int retryTime = 0;
@@ -2477,7 +2497,7 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
subTxnId, dbId, tableIds, subTxnNum);
AbortSubTxnRequest request =
AbortSubTxnRequest.newBuilder().setCloudUniqueId(Config.cloud_unique_id)
.setTxnId(txnId).setSubTxnId(subTxnId).setDbId(dbId).addAllTableIds(tableIds).setSubTxnNum(subTxnId)
- .build();
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached()).build();
AbortSubTxnResponse response = null;
int retryTime = 0;
try {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/plugin/CloudPluginDownloader.java
b/fe/fe-core/src/main/java/org/apache/doris/common/plugin/CloudPluginDownloader.java
index 967a282026b..69955c68be3 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/common/plugin/CloudPluginDownloader.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/common/plugin/CloudPluginDownloader.java
@@ -24,6 +24,7 @@ import org.apache.doris.common.UserException;
import
org.apache.doris.datasource.property.storage.AbstractS3CompatibleProperties;
import org.apache.doris.datasource.property.storage.StorageProperties;
import org.apache.doris.fs.obj.S3ObjStorage;
+import org.apache.doris.service.FrontendOptions;
import com.google.common.base.Strings;
@@ -79,7 +80,9 @@ public class CloudPluginDownloader {
*/
static Cloud.ObjectStoreInfoPB getCloudStorageInfo() throws Exception {
Cloud.GetObjStoreInfoResponse response = MetaServiceProxy.getInstance()
-
.getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder().build());
+ .getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .build());
if (response.getStatus().getCode() != Cloud.MetaServiceCode.OK) {
throw new RuntimeException("Failed to get storage info: " +
response.getStatus().getMsg());
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/StreamingInsertJob.java
b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/StreamingInsertJob.java
index 94f45461c07..16c2354cc7d 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/StreamingInsertJob.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/job/extensions/insert/streaming/StreamingInsertJob.java
@@ -70,6 +70,7 @@ import org.apache.doris.persist.gson.GsonUtils;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.ShowResultSetMetaData;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.thrift.TCell;
import org.apache.doris.thrift.TRow;
import org.apache.doris.transaction.TransactionException;
@@ -686,7 +687,8 @@ public class StreamingInsertJob extends
AbstractJob<StreamingJobSchedulerTask, M
}
private void resetCloudProgress(Offset offset) throws JobException {
- Cloud.ResetStreamingJobOffsetRequest.Builder builder =
Cloud.ResetStreamingJobOffsetRequest.newBuilder();
+ Cloud.ResetStreamingJobOffsetRequest.Builder builder =
Cloud.ResetStreamingJobOffsetRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setCloudUniqueId(Config.cloud_unique_id);
builder.setDbId(getDbId());
builder.setJobId(getJobId());
@@ -980,7 +982,8 @@ public class StreamingInsertJob extends
AbstractJob<StreamingJobSchedulerTask, M
public void replayOnCloudMode() throws JobException {
Cloud.GetStreamingTaskCommitAttachRequest.Builder builder =
- Cloud.GetStreamingTaskCommitAttachRequest.newBuilder();
+ Cloud.GetStreamingTaskCommitAttachRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setCloudUniqueId(Config.cloud_unique_id);
builder.setDbId(getDbId());
builder.setJobId(getJobId());
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/KafkaRoutineLoadJob.java
b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/KafkaRoutineLoadJob.java
index b3faa9b8ce8..bf2b8943e16 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/load/routineload/KafkaRoutineLoadJob.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/load/routineload/KafkaRoutineLoadJob.java
@@ -49,6 +49,7 @@ import
org.apache.doris.nereids.trees.plans.commands.info.CreateRoutineLoadInfo;
import org.apache.doris.persist.AlterRoutineLoadJobOperationLog;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.doris.thrift.TFileCompressType;
import org.apache.doris.thrift.TPartialUpdateNewRowPolicy;
import org.apache.doris.transaction.TransactionState;
@@ -262,7 +263,8 @@ public class KafkaRoutineLoadJob extends RoutineLoadJob {
@Override
public void updateCloudProgress() throws UserException {
Cloud.GetRLTaskCommitAttachRequest.Builder builder =
- Cloud.GetRLTaskCommitAttachRequest.newBuilder();
+ Cloud.GetRLTaskCommitAttachRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setCloudUniqueId(Config.cloud_unique_id);
builder.setDbId(dbId);
builder.setJobId(id);
@@ -741,7 +743,8 @@ public class KafkaRoutineLoadJob extends RoutineLoadJob {
}
if (Config.isCloudMode()) {
- Cloud.ResetRLProgressRequest.Builder builder =
Cloud.ResetRLProgressRequest.newBuilder();
+ Cloud.ResetRLProgressRequest.Builder builder =
Cloud.ResetRLProgressRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached());
builder.setCloudUniqueId(Config.cloud_unique_id);
builder.setDbId(dbId);
builder.setJobId(id);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminDropClusterSnapshotCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminDropClusterSnapshotCommand.java
index 01527d54e22..b131f8a8cc8 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminDropClusterSnapshotCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminDropClusterSnapshotCommand.java
@@ -32,6 +32,7 @@ import
org.apache.doris.nereids.trees.plans.visitor.PlanVisitor;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.StmtExecutor;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -95,7 +96,10 @@ public class AdminDropClusterSnapshotCommand extends Command
implements ForwardW
private void dropSnapshot() throws DdlException {
try {
Cloud.DropSnapshotRequest request =
Cloud.DropSnapshotRequest.newBuilder()
-
.setCloudUniqueId(Config.cloud_unique_id).setSnapshotId(value).build();
+ .setCloudUniqueId(Config.cloud_unique_id)
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .setSnapshotId(value)
+ .build();
Cloud.DropSnapshotResponse response =
MetaServiceProxy.getInstance().dropSnapshot(request);
if (response.getStatus().getCode() != Cloud.MetaServiceCode.OK) {
LOG.warn("dropSnapshot response: {} ", response);
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetAutoClusterSnapshotCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetAutoClusterSnapshotCommand.java
index 3d61e1ad656..ebd838323b3 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetAutoClusterSnapshotCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetAutoClusterSnapshotCommand.java
@@ -31,6 +31,7 @@ import org.apache.doris.nereids.trees.plans.PlanType;
import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.StmtExecutor;
+import org.apache.doris.service.FrontendOptions;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -65,6 +66,7 @@ public class AdminSetAutoClusterSnapshotCommand extends
Command implements Forwa
validate(ctx);
Cloud.AlterInstanceRequest.Builder builder =
Cloud.AlterInstanceRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
.setOp(Cloud.AlterInstanceRequest.Operation.SET_SNAPSHOT_PROPERTY);
for (Map.Entry<String, String> entry : properties.entrySet()) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetClusterSnapshotFeatureSwitchCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetClusterSnapshotFeatureSwitchCommand.java
index ceadd609746..1301c71f05e 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetClusterSnapshotFeatureSwitchCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AdminSetClusterSnapshotFeatureSwitchCommand.java
@@ -31,6 +31,7 @@ import org.apache.doris.nereids.trees.plans.PlanType;
import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.qe.StmtExecutor;
+import org.apache.doris.service.FrontendOptions;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -57,6 +58,7 @@ public class AdminSetClusterSnapshotFeatureSwitchCommand
extends Command impleme
public void run(ConnectContext ctx, StmtExecutor executor) throws
Exception {
validate(ctx);
Cloud.AlterInstanceRequest.Builder builder =
Cloud.AlterInstanceRequest.newBuilder()
+ .setRequestIp(FrontendOptions.getLocalHostAddressCached())
.setInstanceId(((CloudEnv)
Env.getCurrentEnv()).getCloudInstanceId())
.setOp(Cloud.AlterInstanceRequest.Operation.SET_SNAPSHOT_PROPERTY)
.putProperties(PROP_ENABLED, String.valueOf(on));
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateStorageVaultCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateStorageVaultCommand.java
index 191e83e4c62..0f921da5391 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateStorageVaultCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateStorageVaultCommand.java
@@ -37,6 +37,7 @@ import org.apache.doris.qe.ShowResultSet;
import org.apache.doris.qe.ShowResultSetMetaData;
import org.apache.doris.qe.StmtExecutor;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
@@ -76,7 +77,9 @@ public class ShowCreateStorageVaultCommand extends
ShowCommand {
List<List<String>> rows = Lists.newArrayList();
try {
Cloud.GetObjStoreInfoResponse response =
MetaServiceProxy.getInstance()
-
.getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder().build());
+ .getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .build());
AccessControllerManager accessManager =
Env.getCurrentEnv().getAccessManager();
UserIdentity user = ctx.getCurrentUserIdentity();
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowStorageVaultCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowStorageVaultCommand.java
index f5e08e24f4c..1386f2d65e2 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowStorageVaultCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowStorageVaultCommand.java
@@ -35,6 +35,7 @@ import org.apache.doris.qe.ShowResultSet;
import org.apache.doris.qe.ShowResultSetMetaData;
import org.apache.doris.qe.StmtExecutor;
import org.apache.doris.rpc.RpcException;
+import org.apache.doris.service.FrontendOptions;
import java.util.List;
import java.util.stream.Collectors;
@@ -67,7 +68,9 @@ public class ShowStorageVaultCommand extends ShowCommand {
List<List<String>> rows;
try {
Cloud.GetObjStoreInfoResponse resp = MetaServiceProxy.getInstance()
-
.getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder().build());
+ .getObjStoreInfo(Cloud.GetObjStoreInfoRequest.newBuilder()
+
.setRequestIp(FrontendOptions.getLocalHostAddressCached())
+ .build());
AccessControllerManager accessManager =
Env.getCurrentEnv().getAccessManager();
UserIdentity user = ctx.getCurrentUserIdentity();
rows = resp.getStorageVaultList().stream()
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendOptions.java
b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendOptions.java
index e578aea549e..2ce1a02d0d2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendOptions.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendOptions.java
@@ -42,6 +42,7 @@ public class FrontendOptions {
private static List<CIDR> priorityCidrs = Lists.newArrayList();
private static InetAddress localAddr = InetAddress.getLoopbackAddress();
private static boolean useFqdn = false;
+ private static String cachedAddr;
public static void init() throws UnknownHostException {
localAddr = null;
@@ -56,6 +57,7 @@ public class FrontendOptions {
} else {
initAddrUseIp(hosts);
}
+ cachedAddr = getLocalHostAddress();
}
// 1. If priority_networks is configured . Obtain the IP that complies
with the rules,
@@ -169,6 +171,10 @@ public class FrontendOptions {
localAddr.getCanonicalHostName(), localAddr.getHostAddress());
}
+ public static String getLocalHostAddressCached() {
+ return Strings.nullToEmpty(cachedAddr);
+ }
+
public static String getLocalHostAddress() {
if (useFqdn) {
// localAddr.getHostName() is same as run `hostname`
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]