matrixorigin / matrixorigin/matrixone
[Question] restore account 后是否应恢复普通租户 admin 用户的锁定状态
- Dominant language
- Go
- Stars
- 1.9k
- Forks
- 311
- Avg merge
- 1d 3h
- Merged PRs (30d)
- 768
Description
关联 feature: #21685
在为 `ALTER USER ... LOCK/UNLOCK` 补充测试时,发现一个需要产品确认的 restore 行为。
当前实现中,`ALTER USER ... LOCK` 会修改租户内 `mo_catalog.mo_user.status` 为 `forbid`。普通租户执行 `restore account` 时,`mo_catalog.mo_user` 会随 snapshot 一起恢复。
因此会出现以下行为:
1. 创建普通租户 `acc`,admin 用户为 `admin`
2. 在普通租户内执行:
```sql
alter user admin lock;
```
3. 对该普通租户创建 snapshot
4. 再执行:
```sql
alter user admin unlock;
```
5. restore 该普通租户到前面的 snapshot
6. restore 后,普通租户 `admin` 用户状态恢复为 `forbid`
需要确认:
- 普通租户 restore 后,`admin` 用户的 lock 状态也恢复为 snapshot 时的 `forbid`,是否符合产品预期?
- 如果符合预期,测试会按当前行为固化。
- 如果不符合预期,是否需要在 restore 过程中对普通租户 admin 用户做特殊处理,避免恢复成锁定状态?
补充说明:
- `restore account` 只针对普通租户,系统租户 `sys` 不作为 restore 对象。
- 已有连接不受 `lock` 影响,主要影响新连接登录。
Contributor guide
Assessment
This issue has not been assessed yet.