Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

删除项目后异常 #5101

Closed
Eleven-M opened this issue Mar 8, 2024 · 5 comments
Closed

删除项目后异常 #5101

Eleven-M opened this issue Mar 8, 2024 · 5 comments
Labels

Comments

@Eleven-M
Copy link

Eleven-M commented Mar 8, 2024

image
项目删除后,仍可以在控制台看到,而且项目内部异常,无法再重新创建一个AppId一致的项目。

Copy link

dosubot bot commented Mar 8, 2024

哈哈,@Eleven-M,又见面了!遇到新问题了吗?希望这次我们也能快乐地解决它!

在Apollo中删除项目后,如果您仍然可以在控制台看到它,并且遇到内部错误,无法重新创建具有相同AppId的项目,可能是由于删除过程没有完全从系统中删除与AppId相关的所有引用或数据。在提供的AppController.java文件中,delete方法使用adminService.deleteApp(entity, operator);来删除应用程序。然而,没有看到adminService.deleteApp和相关服务(如数据库清理程序)的实现,很难确定确切的原因。可能的原因包括:

  1. **缓存:**应用程序或中间件可能正在缓存项目详细信息,并且在删除后未使缓存失效。
  2. **数据库引用:**数据库中可能存在剩余的引用或约束,阻止了项目数据的完全删除,导致不一致。
  3. **异步删除:**如果删除过程是异步的,系统的所有组件可能需要一段时间才能识别到删除。
  4. **删除逻辑中的错误:**删除过程中可能存在逻辑错误,未能删除所有必要的数据或未处理所有情况,特别是如果存在复杂的关系或依赖。

要解决这些问题,请确保:

  • adminService.deleteApp和任何相关服务的删除逻辑正确处理所有必要的清理,包括数据库记录和任何缓存。
  • 检查任何可能延迟删除过程的异步操作或事件驱动机制,并确保它们成功完成。
  • 检查数据库模式中可能阻止删除的任何外键约束或引用,并确保它们得到适当处理。

没有adminService.deleteApp和相关组件的实现细节,这些都是基于Web应用程序中与删除操作相关的常见问题的推测性解决方案。

参考资料:

adminService.deleteApp方法在Apollo代码库中的确切实现是:

@Transactional
public void deleteApp(App app, String operator) {
  String appId = app.getAppId();

  logger.info("{} is deleting App:{}", operator, appId);

  List<Cluster> managedClusters = clusterService.findParentClusters(appId);

  // 1. delete clusters
  if (Objects.nonNull(managedClusters)) {
    for (Cluster cluster : managedClusters) {
      clusterService.delete(cluster.getId(), operator);
    }
  }

  // 2. delete appNamespace
  appNamespaceService.batchDelete(appId, operator);

  // 3. delete app
  appService.delete(app.getId(), operator);
}

参考资料:

Sources

About Dosu

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.

Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.

If you want to continue the conversation, start your reply with @dosu-bot.

@BlackBear2003
Copy link
Member

#5076

@nobodyiam
Copy link
Member

@Eleven-M 请描述下详细的复现步骤

Copy link

stale bot commented Apr 14, 2024

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Apr 14, 2024
Copy link

stale bot commented Apr 21, 2024

This issue has been automatically closed because it has not had activity in the last 7 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions.

@stale stale bot closed this as completed Apr 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants