This is an automated email from the ASF dual-hosted git repository.
caishunfeng pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new d2fe16d252 [Optimization] Config module resource relation fix. (#10718)
d2fe16d252 is described below
commit d2fe16d252cd511e16049b6a88e4147bc9304ff6
Author: WangJPLeo <[email protected]>
AuthorDate: Tue Jul 5 15:51:23 2022 +0800
[Optimization] Config module resource relation fix. (#10718)
* Config module resource relation fix.
* Boolean judge fix
* e2e rerun
* e2e rerun
* e2e rerun
* ArrayList fix
* change variable name.
* Add transaction processing on create data resource method
---
.../api/service/impl/AlertGroupServiceImpl.java | 3 +++
.../api/service/impl/DataSourceServiceImpl.java | 3 +++
.../api/service/impl/EnvironmentServiceImpl.java | 2 +-
.../api/service/impl/ProjectServiceImpl.java | 2 ++
.../api/service/impl/QueueServiceImpl.java | 28 ++++++++++++----------
.../api/service/impl/TaskGroupServiceImpl.java | 2 ++
.../api/service/impl/TenantServiceImpl.java | 2 ++
.../api/service/impl/UdfFuncServiceImpl.java | 1 +
.../api/service/impl/WorkerGroupServiceImpl.java | 27 ++++++++++-----------
.../ResourcePermissionCheckServiceTest.java | 14 ++++++-----
.../api/service/QueueServiceTest.java | 2 +-
.../apache/dolphinscheduler/common/Constants.java | 2 ++
.../dolphinscheduler/dao/mapper/QueueMapper.java | 2 +-
.../dolphinscheduler/dao/mapper/QueueMapper.xml | 6 +++++
.../dao/mapper/QueueMapperTest.java | 7 +++---
15 files changed, 63 insertions(+), 40 deletions(-)
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
index 918fc7a680..74eb186a19 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/AlertGroupServiceImpl.java
@@ -160,6 +160,7 @@ public class AlertGroupServiceImpl extends BaseServiceImpl
implements AlertGroup
* @return create result code
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Map<String, Object> createAlertgroup(User loginUser, String
groupName, String desc, String alertInstanceIds) {
Map<String, Object> result = new HashMap<>();
//only admin can operate
@@ -191,6 +192,8 @@ public class AlertGroupServiceImpl extends BaseServiceImpl
implements AlertGroup
} catch (DuplicateKeyException ex) {
logger.error("Create alert group error.", ex);
putMsg(result, Status.ALERT_GROUP_EXIST);
+ } catch (RuntimeException e) {
+ throw new RuntimeException(e.getMessage());
}
return result;
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
index 0cea4cf5a6..b12d9e9904 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/DataSourceServiceImpl.java
@@ -100,6 +100,7 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
* @return create result code
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Result<Object> createDataSource(User loginUser,
BaseDataSourceParamDTO datasourceParam) {
DataSourceUtils.checkDatasourceParam(datasourceParam);
Result<Object> result = new Result<>();
@@ -139,6 +140,8 @@ public class DataSourceServiceImpl extends BaseServiceImpl
implements DataSource
} catch (DuplicateKeyException ex) {
logger.error("Create datasource error.", ex);
putMsg(result, Status.DATASOURCE_EXIST);
+ } catch (RuntimeException e) {
+ throw new RuntimeException(e.getMessage());
}
return result;
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
index 5ee992d16b..67def53674 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/EnvironmentServiceImpl.java
@@ -92,8 +92,8 @@ public class EnvironmentServiceImpl extends BaseServiceImpl
implements Environme
* @param desc environment desc
* @param workerGroups worker groups
*/
- @Transactional(rollbackFor = RuntimeException.class)
@Override
+ @Transactional(rollbackFor = Exception.class)
public Map<String, Object> createEnvironment(User loginUser, String name,
String config, String desc, String workerGroups) {
Map<String, Object> result = new HashMap<>();
if (!canOperatorPermissions(loginUser, null,
AuthorizationType.ENVIRONMENT, ENVIRONMENT_CREATE)) {
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
index b10ee78392..12ddafaa42 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProjectServiceImpl.java
@@ -41,6 +41,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
@@ -86,6 +87,7 @@ public class ProjectServiceImpl extends BaseServiceImpl
implements ProjectServic
* @return returns an error if it exists
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Map<String, Object> createProject(User loginUser, String name,
String desc) {
Map<String, Object> result = checkDesc(desc);
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
index 1301540a46..465f2243f4 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/QueueServiceImpl.java
@@ -17,22 +17,26 @@
package org.apache.dolphinscheduler.api.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.apache.commons.lang3.StringUtils;
import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.service.QueueService;
import org.apache.dolphinscheduler.api.utils.PageInfo;
import org.apache.dolphinscheduler.api.utils.Result;
import org.apache.dolphinscheduler.common.Constants;
import org.apache.dolphinscheduler.common.enums.AuthorizationType;
+import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.dao.entity.Queue;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.QueueMapper;
import org.apache.dolphinscheduler.dao.mapper.UserMapper;
-import org.apache.commons.lang3.StringUtils;
-
+import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -41,11 +45,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
-import static
org.apache.dolphinscheduler.api.constants.ApiFuncIdentificationConstant.*;
+import static
org.apache.dolphinscheduler.api.constants.ApiFuncIdentificationConstant.YARN_QUEUE_CREATE;
+import static
org.apache.dolphinscheduler.api.constants.ApiFuncIdentificationConstant.YARN_QUEUE_UPDATE;
/**
* queue service impl
@@ -71,15 +74,13 @@ public class QueueServiceImpl extends BaseServiceImpl
implements QueueService {
public Map<String, Object> queryList(User loginUser) {
Map<String, Object> result = new HashMap<>();
Set<Integer> ids =
resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.QUEUE,
loginUser.getId(), logger);
- if (ids.isEmpty()) {
- result.put(Constants.DATA_LIST, Collections.emptyList());
- putMsg(result, Status.SUCCESS);
- return result;
+ if (loginUser.getUserType().equals(UserType.GENERAL_USER)) {
+ ids = ids.isEmpty() ? new HashSet<>() : ids;
+ ids.add(Constants.DEFAULT_QUEUE_ID);
}
List<Queue> queueList = queueMapper.selectBatchIds(ids);
result.put(Constants.DATA_LIST, queueList);
putMsg(result, Status.SUCCESS);
-
return result;
}
@@ -103,7 +104,7 @@ public class QueueServiceImpl extends BaseServiceImpl
implements QueueService {
return result;
}
Page<Queue> page = new Page<>(pageNo, pageSize);
- IPage<Queue> queueList = queueMapper.queryQueuePaging(page, searchVal);
+ IPage<Queue> queueList = queueMapper.queryQueuePaging(page, new
ArrayList<>(ids), searchVal);
Integer count = (int) queueList.getTotal();
pageInfo.setTotal(count);
pageInfo.setTotalList(queueList.getRecords());
@@ -122,6 +123,7 @@ public class QueueServiceImpl extends BaseServiceImpl
implements QueueService {
* @return create result
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Map<String, Object> createQueue(User loginUser, String queue,
String queueName) {
Map<String, Object> result = new HashMap<>();
if (!canOperatorPermissions(loginUser,null,
AuthorizationType.QUEUE,YARN_QUEUE_CREATE)) {
@@ -160,7 +162,7 @@ public class QueueServiceImpl extends BaseServiceImpl
implements QueueService {
queueMapper.insert(queueObj);
result.put(Constants.DATA_LIST, queueObj);
putMsg(result, Status.SUCCESS);
-
+ permissionPostHandle(AuthorizationType.QUEUE, loginUser.getId(),
Collections.singletonList(queueObj.getId()), logger);
return result;
}
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
index e02fbca658..7d8d1128d9 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TaskGroupServiceImpl.java
@@ -39,6 +39,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Collections;
@@ -78,6 +79,7 @@ public class TaskGroupServiceImpl extends BaseServiceImpl
implements TaskGroupSe
* @return the result code and msg
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Map<String, Object> createTaskGroup(User loginUser, Long
projectCode, String name, String description, int groupSize) {
Map<String, Object> result = new HashMap<>();
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
index a3c4e30ef6..3d315ee3cf 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/TenantServiceImpl.java
@@ -46,6 +46,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
@@ -132,6 +133,7 @@ public class TenantServiceImpl extends BaseServiceImpl
implements TenantService
if (PropertyUtils.getResUploadStartupState()) {
storageOperate.createTenantDirIfNotExists(tenantCode);
}
+ permissionPostHandle(AuthorizationType.TENANT, loginUser.getId(),
Collections.singletonList(tenant.getId()), logger);
result.put(Constants.DATA_LIST, tenant);
putMsg(result, Status.SUCCESS);
return result;
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
index 010629756e..4542b648b8 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/UdfFuncServiceImpl.java
@@ -77,6 +77,7 @@ public class UdfFuncServiceImpl extends BaseServiceImpl
implements UdfFuncServic
* @return create result code
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Result<Object> createUdfFunction(User loginUser,
String funcName,
String className,
diff --git
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
index bf678d3dcc..7878d94220 100644
---
a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
+++
b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/WorkerGroupServiceImpl.java
@@ -84,6 +84,7 @@ public class WorkerGroupServiceImpl extends BaseServiceImpl
implements WorkerGro
* @return create or update result code
*/
@Override
+ @Transactional(rollbackFor = Exception.class)
public Map<String, Object> saveWorkerGroup(User loginUser, int id, String
name, String addrList) {
Map<String, Object> result = new HashMap<>();
if (!canOperatorPermissions(loginUser,null,
AuthorizationType.WORKER_GROUP, WORKER_GROUP_CREATE)) {
@@ -191,14 +192,12 @@ public class WorkerGroupServiceImpl extends
BaseServiceImpl implements WorkerGro
int toIndex = (pageNo - 1) * pageSize + pageSize;
Result result = new Result();
- List<WorkerGroup> workerGroups = new ArrayList<>();
+ List<WorkerGroup> workerGroups;
if (loginUser.getUserType().equals(UserType.ADMIN_USER)) {
- workerGroups = getWorkerGroups(true);
+ workerGroups = getWorkerGroups(true, null);
} else {
Set<Integer> ids =
resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.WORKER_GROUP,
loginUser.getId(), logger);
- if (!ids.isEmpty()) {
- workerGroups = workerGroupMapper.selectBatchIds(ids);
- }
+ workerGroups = getWorkerGroups(true, ids.isEmpty() ?
Collections.emptyList() : new ArrayList<>(ids));
}
List<WorkerGroup> resultDataList = new ArrayList<>();
int total = 0;
@@ -244,15 +243,10 @@ public class WorkerGroupServiceImpl extends
BaseServiceImpl implements WorkerGro
Map<String, Object> result = new HashMap<>();
List<WorkerGroup> workerGroups;
if (loginUser.getUserType().equals(UserType.ADMIN_USER)) {
- workerGroups = getWorkerGroups(false);
+ workerGroups = getWorkerGroups(false, null);
} else {
Set<Integer> ids =
resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.WORKER_GROUP,
loginUser.getId(), logger);
- if (ids.isEmpty()) {
- result.put(Constants.DATA_LIST, Collections.emptyList());
- putMsg(result, Status.SUCCESS);
- return result;
- }
- workerGroups = workerGroupMapper.selectBatchIds(ids);
+ workerGroups = getWorkerGroups(false, ids.isEmpty() ?
Collections.emptyList() : new ArrayList<>(ids));
}
List<String> availableWorkerGroupList = workerGroups.stream()
.map(WorkerGroup::getName)
@@ -273,9 +267,14 @@ public class WorkerGroupServiceImpl extends
BaseServiceImpl implements WorkerGro
* @param isPaging whether paging
* @return WorkerGroup list
*/
- private List<WorkerGroup> getWorkerGroups(boolean isPaging) {
+ private List<WorkerGroup> getWorkerGroups(boolean isPaging, List<Integer>
ids) {
// worker groups from database
- List<WorkerGroup> workerGroups =
workerGroupMapper.queryAllWorkerGroup();
+ List<WorkerGroup> workerGroups;
+ if (ids != null) {
+ workerGroups = ids.isEmpty() ? new ArrayList<>() :
workerGroupMapper.selectBatchIds(ids);
+ } else {
+ workerGroups = workerGroupMapper.queryAllWorkerGroup();
+ }
// worker groups from zookeeper
String workerPath = Constants.REGISTRY_DOLPHINSCHEDULER_WORKERS;
Collection<String> workerGroupList = null;
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceTest.java
index cf6b4e71cc..68e5e74196 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/permission/ResourcePermissionCheckServiceTest.java
@@ -17,13 +17,19 @@
package org.apache.dolphinscheduler.api.permission;
-import com.google.common.collect.Lists;
import org.apache.dolphinscheduler.common.enums.AuthorizationType;
import org.apache.dolphinscheduler.common.enums.UserType;
import org.apache.dolphinscheduler.dao.entity.Project;
import org.apache.dolphinscheduler.dao.entity.User;
import org.apache.dolphinscheduler.dao.mapper.ProjectMapper;
import org.apache.dolphinscheduler.service.process.ProcessService;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -34,11 +40,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
+import com.google.common.collect.Lists;
/**
* permission service test
diff --git
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/QueueServiceTest.java
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/QueueServiceTest.java
index a2a7957a23..30eaeb52e1 100644
---
a/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/QueueServiceTest.java
+++
b/dolphinscheduler-api/src/test/java/org/apache/dolphinscheduler/api/service/QueueServiceTest.java
@@ -110,7 +110,7 @@ public class QueueServiceTest {
Set<Integer> ids = new HashSet<>();
ids.add(1);
Mockito.when(resourcePermissionCheckService.userOwnedResourceIdsAcquisition(AuthorizationType.QUEUE,
getLoginUser().getId(), queueServiceImplLogger)).thenReturn(ids);
- Mockito.when(queueMapper.queryQueuePaging(Mockito.any(Page.class),
Mockito.eq(queueName))).thenReturn(page);
+ Mockito.when(queueMapper.queryQueuePaging(Mockito.any(Page.class),
Mockito.anyList(), Mockito.eq(queueName))).thenReturn(page);
Result result = queueService.queryList(getLoginUser(), queueName, 1,
10);
logger.info(result.toString());
PageInfo<Queue> pageInfo = (PageInfo<Queue>) result.getData();
diff --git
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
index a081570f4a..ea54e362cc 100644
---
a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
+++
b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/Constants.java
@@ -833,4 +833,6 @@ public final class Constants {
public static final int USER_PASSWORD_MIN_LENGTH = 2;
public static final String FUNCTION_START_WITH = "$";
+
+ public static final Integer DEFAULT_QUEUE_ID = 1;
}
diff --git
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/QueueMapper.java
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/QueueMapper.java
index e48607007d..8a3942a738 100644
---
a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/QueueMapper.java
+++
b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/mapper/QueueMapper.java
@@ -34,7 +34,7 @@ public interface QueueMapper extends BaseMapper<Queue> {
* @param searchVal searchVal
* @return queue IPage
*/
- IPage<Queue> queryQueuePaging(IPage<Queue> page,
+ IPage<Queue> queryQueuePaging(IPage<Queue> page,
@Param("ids")List<Integer> ids,
@Param("searchVal") String searchVal);
/**
diff --git
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/QueueMapper.xml
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/QueueMapper.xml
index cf381e494a..3705365543 100644
---
a/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/QueueMapper.xml
+++
b/dolphinscheduler-dao/src/main/resources/org/apache/dolphinscheduler/dao/mapper/QueueMapper.xml
@@ -29,6 +29,12 @@
<if test="searchVal != null and searchVal != ''">
and queue_name like concat('%', #{searchVal}, '%')
</if>
+ <if test="ids != null and ids.size() > 0">
+ and id in
+ <foreach collection="ids" item="i" open="(" close=")"
separator=",">
+ #{i}
+ </foreach>
+ </if>
order by update_time desc
</select>
<select id="queryAllQueueList"
resultType="org.apache.dolphinscheduler.dao.entity.Queue">
diff --git
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
index 9bdc9b82c5..28e7044f85 100644
---
a/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
+++
b/dolphinscheduler-dao/src/test/java/org/apache/dolphinscheduler/dao/mapper/QueueMapperTest.java
@@ -20,6 +20,7 @@ package org.apache.dolphinscheduler.dao.mapper;
import org.apache.dolphinscheduler.dao.BaseDaoTest;
import org.apache.dolphinscheduler.dao.entity.Queue;
+import java.util.Collections;
import java.util.Date;
import java.util.List;
@@ -94,12 +95,10 @@ public class QueueMapperTest extends BaseDaoTest {
Queue queue = insertOne();
Page<Queue> page = new Page(1,3);
- IPage<Queue> queueIPage= queueMapper.queryQueuePaging(page,
- null);
+ IPage<Queue> queueIPage= queueMapper.queryQueuePaging(page,
Collections.singletonList(queue.getId()), null);
Assert.assertNotEquals(queueIPage.getTotal(), 0);
- queueIPage= queueMapper.queryQueuePaging(page,
- queue.getQueueName());
+ queueIPage= queueMapper.queryQueuePaging(page,
Collections.singletonList(queue.getId()), queue.getQueueName());
Assert.assertNotEquals(queueIPage.getTotal(), 0);
}