Ruixuan Zhang created KYLIN-5457: ------------------------------------ Summary: When the number of users is very large, granting users project-level access has poor performance and authorization fails Key: KYLIN-5457 URL: https://issues.apache.org/jira/browse/KYLIN-5457 Project: Kylin Issue Type: Bug Affects Versions: 5.0-alpha Reporter: Ruixuan Zhang Assignee: Ruixuan Zhang Fix For: 5.0-alpha Attachments: image-2023-02-17-17-03-47-187.png, image-2023-02-17-17-04-19-788.png
h2. Root Cause 第一点,已经是项目授权的用户,在给项目添加用户时,是无法搜到的。这个是产品现有行为。 看代码发现,代码内部复杂度较高。 在展示项目内授权用户列表时,会检查项目内每个用户是否存在(这个动作会listAll所有用户),几个用户就listAll几次 本地4000用户,项目授权100个用户,打开页面请求加载花了10s 给项目添加用户授权时,每个用户都要listAll。 对于判断用户、用户组是否存在的方法,代码中会listAll,其实是没必要的 因此基本上可以断定是因为代码复杂度高,多了很多无用的遍历。导致页面一直加载不出来,所以客户才误以为项目内看不到已授权的用户,但是模糊搜索就可以看到。 h2. Fix Design 修复方法主要是代码优化 # 判断用户是否存在 # NKylinUserManager get 方法优化 # listUserGroup 方法优化 h2. Test 36297 用户,单个项目授权442个用户 1、项目授权用户列表 !image-2023-02-17-17-03-47-187.png! 2、项目内授权100个用户权限 !image-2023-02-17-17-04-19-788.png! -- This message was sent by Atlassian Jira (v8.20.10#820010)