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 e278a18f62f [fix](cloud) fix single stream multi table load can not
work in cloud mode (#33659)
e278a18f62f is described below
commit e278a18f62f5274628ed5f61c70eebd85e6c0b10
Author: HHoflittlefish777 <[email protected]>
AuthorDate: Tue Apr 16 19:53:02 2024 +0800
[fix](cloud) fix single stream multi table load can not work in cloud mode
(#33659)
---
.../org/apache/doris/load/StreamLoadHandler.java | 53 ++++++++++------------
1 file changed, 24 insertions(+), 29 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
index ca87a657904..47f8ed05049 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadHandler.java
@@ -104,7 +104,7 @@ public class StreamLoadHandler {
return;
}
- LOG.info("streamload put request: {}", request);
+ LOG.info("stream load put request: {}", request);
// create connect context
ConnectContext ctx = new ConnectContext();
ctx.setEnv(Env.getCurrentEnv());
@@ -118,38 +118,33 @@ public class StreamLoadHandler {
return;
}
- if (request.isSetAuthCode()) {
+ ctx.setRemoteIP(request.isSetAuthCode() ? clientAddr :
request.getUserIp());
+ String userName =
ClusterNamespace.getNameFromFullName(request.getUser());
+ if (!Strings.isNullOrEmpty(userName)) {
+ List<UserIdentity> currentUser = Lists.newArrayList();
+ try {
+ Env.getCurrentEnv().getAuth().checkPlainPassword(userName,
+ request.getUserIp(), request.getPasswd(), currentUser);
+ } catch (AuthenticationException e) {
+ throw new UserException(e.formatErrMsg());
+ }
+ Preconditions.checkState(currentUser.size() == 1);
+ ctx.setCurrentUserIdentity(currentUser.get(0));
+ }
+ if (request.isSetAuthCode() && request.isSetBackendId()) {
long backendId = request.getBackendId();
Backend backend = Env.getCurrentSystemInfo().getBackend(backendId);
Preconditions.checkNotNull(backend);
ctx.setCloudCluster(backend.getCloudClusterName());
- ctx.setRemoteIP(clientAddr);
- LOG.info("streamLoadPutImpl set context: cluster {}",
ctx.getCloudCluster());
- } else {
- ctx.setRemoteIP(request.getUserIp());
- String userName =
ClusterNamespace.getNameFromFullName(request.getUser());
- if (!Strings.isNullOrEmpty(userName)) {
- List<UserIdentity> currentUser = Lists.newArrayList();
- try {
- Env.getCurrentEnv().getAuth().checkPlainPassword(userName,
- request.getUserIp(), request.getPasswd(),
currentUser);
- } catch (AuthenticationException e) {
- throw new UserException(e.formatErrMsg());
- }
- Preconditions.checkState(currentUser.size() == 1);
- ctx.setCurrentUserIdentity(currentUser.get(0));
- }
- LOG.info("request user: {}, remote ip: {}, user ip: {}, passwd:
{}, cluster: {}",
- request.getUser(), clientAddr, request.getUserIp(),
request.getPasswd(),
- request.getCloudCluster());
- if (!Strings.isNullOrEmpty(request.getCloudCluster())) {
- if (Strings.isNullOrEmpty(request.getUser())) {
- // mysql load
- ctx.setCloudCluster(request.getCloudCluster());
- } else {
- // stream load
- ((CloudEnv)
Env.getCurrentEnv()).changeCloudCluster(request.getCloudCluster(), ctx);
- }
+ return;
+ }
+ if (!Strings.isNullOrEmpty(request.getCloudCluster())) {
+ if (Strings.isNullOrEmpty(request.getUser())) {
+ // mysql load
+ ctx.setCloudCluster(request.getCloudCluster());
+ } else {
+ // stream load
+ ((CloudEnv)
Env.getCurrentEnv()).changeCloudCluster(request.getCloudCluster(), ctx);
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]