slime-io / slime

An intelligent ServiceMesh manager based on Istio
https://slime-io.github.io/
Other
424 stars 78 forks source link

meshreg: mv update-resource-version from convert func to McpConfigStore.Update to avoid possible race condition #450

Closed YonkaFang closed 10 months ago

YonkaFang commented 10 months ago

原来:

  1. convert中更新resourceversion然后Update;
  2. 但event-update-config流程可能被不同source并发调用,特殊时序下可能导致 先convert生成较低ver的后update,从而导致 configstore中的configs的maxver不是单调递增的,从而可能出现 以较大ver触发的推送中不包含较小ver的数据

修复: 在update中更新ver,保证configstore中的configs的maxver单调递增的,修复该问题。