[fix](stats) Fix analyze failed when there are thousands of partitions. (#24521)
It's caused by we used same query id for multiple queries of same olap analyze task, but many structures related to query execution depends on query id.
This commit is contained in:
@ -2571,6 +2571,9 @@ public class StmtExecutor {
|
||||
|
||||
public List<ResultRow> executeInternalQuery() {
|
||||
LOG.debug("INTERNAL QUERY: " + originStmt.toString());
|
||||
UUID uuid = UUID.randomUUID();
|
||||
TUniqueId queryId = new TUniqueId(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
|
||||
context.setQueryId(queryId);
|
||||
try {
|
||||
List<ResultRow> resultRows = new ArrayList<>();
|
||||
try {
|
||||
|
||||
@ -73,7 +73,6 @@ import org.apache.doris.statistics.ResultRow;
|
||||
import org.apache.doris.statistics.StatisticConstants;
|
||||
import org.apache.doris.system.Frontend;
|
||||
import org.apache.doris.system.SystemInfoService;
|
||||
import org.apache.doris.thrift.TUniqueId;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.common.collect.Lists;
|
||||
@ -105,7 +104,6 @@ import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.StringJoiner;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -188,9 +186,6 @@ public class StatisticsUtil {
|
||||
connectContext.setDatabase(FeConstants.INTERNAL_DB_NAME);
|
||||
connectContext.setQualifiedUser(UserIdentity.ROOT.getQualifiedUser());
|
||||
connectContext.setCurrentUserIdentity(UserIdentity.ROOT);
|
||||
UUID uuid = UUID.randomUUID();
|
||||
TUniqueId queryId = new TUniqueId(uuid.getMostSignificantBits(), uuid.getLeastSignificantBits());
|
||||
connectContext.setQueryId(queryId);
|
||||
connectContext.setStartTime();
|
||||
connectContext.setCluster(SystemInfoService.DEFAULT_CLUSTER);
|
||||
return new AutoCloseConnectContext(connectContext);
|
||||
|
||||
Reference in New Issue
Block a user