Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,11 @@ class DefaultEMInfoService extends EMInfoService with Logging {
val filteredECMs = if (serviceInstance.equals("*")) {
getAllEM()
} else {
getAllEM().filter(_.getServiceInstance.getInstance.equals(serviceInstance))
val ecInstance = new ServiceInstance
ecInstance.setInstance(serviceInstance)
ecInstance.setApplicationName(GovernanceCommonConf.ENGINE_CONN_SPRING_NAME.getValue)
val node = emNodeManager.getEM(ecInstance)
if (node != null) Array(node) else Array.empty[EMNode]
}
// 遍历处理ECM
filteredECMs.foreach { ecmInstance =>
Expand Down Expand Up @@ -214,23 +218,22 @@ class DefaultEMInfoService extends EMInfoService with Logging {
// 用户资源重置
if (AMConfiguration.AM_USER_RESET_RESOURCE && StringUtils.isNotBlank(username)) {
// 获取用户的标签
val user = if (username.equals("*")) {
""
val abnormalResources = if (username.equals("*")) {
resourceManagerPersistence.getAbnormalResources.asScala
} else {
username
val labelValuePattern =
MessageFormat.format("%{0}%,%{1}%,%{2}%,%", "", username, "")
val userLabels = labelManagerPersistence.getLabelByPattern(
labelValuePattern,
"combined_userCreator_engineType",
null,
null
)
// 获取与这些标签关联的资源
resourceManagerPersistence.getResourceByLabels(userLabels).asScala
}
val labelValuePattern =
MessageFormat.format("%{0}%,%{1}%,%{2}%,%", "", user, "")
val userLabels = labelManagerPersistence.getLabelByPattern(
labelValuePattern,
"combined_userCreator_engineType",
null,
null
)
// 获取与这些标签关联的资源
val userLabelResources = resourceManagerPersistence.getResourceByLabels(userLabels).asScala
// 遍历用户标签资源
userLabelResources.foreach { userLabelResource =>
abnormalResources.foreach { userLabelResource =>
val labelUser = LabelUtil.getFromLabelStr(userLabelResource.getCreator, "user")
val resourceLabel = labelManagerPersistence.getLabelByResource(userLabelResource)
resourceLabel.head.setStringValue(userLabelResource.getCreator)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,11 @@ List<PersistenceResource> getResourceByInstanceAndResourceType(
void deleteResourceRelByResourceId(@Param("ids") List<Integer> ids);

PersistenceResource getResourceById(@Param("id") Integer id);

/**
* 查询资源为负数(异常)的资源记录
*
* @return 异常资源列表
*/
List<PersistenceResource> getAbnormalResources();
}
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,13 @@ List<PersistenceResource> getResourceByServiceInstance(
List<PersistenceResource> getResourceByServiceInstance(ServiceInstance serviceInstance)
throws PersistenceErrorException;

/**
* 查询资源为负数(异常)的资源记录
*
* @return 异常资源列表
*/
List<PersistenceResource> getAbnormalResources();

/**
* 删除实例占用的资源
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -211,4 +211,9 @@ public PersistenceResource getNodeResourceById(Integer id) {
PersistenceResource resource = resourceManagerMapper.getResourceById(id);
return resource;
}

@Override
public List<PersistenceResource> getAbnormalResources() {
return resourceManagerMapper.getAbnormalResources();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,4 +98,10 @@
select * from linkis_cg_manager_label where id in
(select label_id from linkis_cg_manager_label_resource A join linkis_cg_manager_linkis_resources B on A.resource_id=B.id and B.ticketId=#{ticketId})
</select>

<select id="getAbnormalResources" resultType="org.apache.linkis.manager.common.entity.persistence.PersistenceResource">
SELECT * FROM linkis_cg_manager_linkis_resources
WHERE (locked_resource LIKE '%-%' OR used_resource LIKE '%-%' OR left_resource LIKE '%-%')
AND ticketId IS NULL
</select>
</mapper>
Loading