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

【bug】A用户打开管理端页面长时间不刷新,中间时间B用户进行发布配置,B发布完成后A用户没刷新页面就直接通过文本模式修改配置,由于A用户不会重新加载当前最新配置,导致操作会覆盖当前最新配置,这个问题是否可以增加版本检查来避免此问题? #5226

Open
hezhaoye opened this issue Sep 9, 2024 · 2 comments

Comments

@hezhaoye
Copy link

hezhaoye commented Sep 9, 2024

复现流程
1、A用户打开管理端应用页面后,长时间没关闭页面
2、B用户打开管理端页面后进行配置修改和发布
3、B用户发布完成后,A用户没有刷新页面,直接文本模式编辑properties的namespace配置,然后发布。
4、由于A用户没有刷新页面,导致没有重新拉取最新的配置,导致发布会覆盖当前的最新配置。

注:当前的防止多人并发修改特性也不能避免此问题;因为B用户编辑并发布完成后(锁释放了),A用户再来操作,也会出现此问题。类似java并发的ABA问题。

针对此问题,看看是否可以增加版本控制检查来判断,如果是旧版本,就提示用户刷新页面?

@hezhaoye hezhaoye changed the title 【bug】A用户打开管理端页面长时间不刷新,中间时间B用户进行发布配置,B发布完成后,A直接通过文本模式修改配置,不会重新加载当前最新配置,导致误操覆盖当前配置,这个问题是否可以增加版本检查来避免此问题? 【bug】A用户打开管理端页面长时间不刷新,中间时间B用户进行发布配置,B发布完成后,A直接通过文本模式修改配置,由于不会重新加载当前最新配置,导致误操覆盖当前配置,这个问题是否可以增加版本检查来避免此问题? Sep 9, 2024
@hezhaoye hezhaoye changed the title 【bug】A用户打开管理端页面长时间不刷新,中间时间B用户进行发布配置,B发布完成后,A直接通过文本模式修改配置,由于不会重新加载当前最新配置,导致误操覆盖当前配置,这个问题是否可以增加版本检查来避免此问题? 【bug】A用户打开管理端页面长时间不刷新,中间时间B用户进行发布配置,B发布完成后A用户没刷新页面就直接通过文本模式修改配置,由于A用户不会重新加载当前最新配置,导致操作会覆盖当前最新配置,这个问题是否可以增加版本检查来避免此问题? Sep 9, 2024
@nobodyiam
Copy link
Member

针对此问题,看看是否可以增加版本控制检查来判断,如果是旧版本,就提示用户刷新页面?

这个方式是可行的,不过上述例子中 A 用户提交配置后是能看到修改了预期之外的配置,在发布的时候也会有提示的,稍加注意应该是能避免该问题的。

@hezhaoye
Copy link
Author

针对此问题,看看是否可以增加版本控制检查来判断,如果是旧版本,就提示用户刷新页面?

这个方式是可行的,不过上述例子中 A 用户提交配置后是能看到修改了预期之外的配置,在发布的时候也会有提示的,稍加注意应该是能避免该问题的。

如果A用户一直都没有刷新过页面,直接text修改,是感知不到新配置的。部分用户有保留页面没刷新的习惯,这种虽然出现的概率较低,但是生产配置还是有隐患,官方看看是否完善下?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants