Skip to content

连续点击两次发布导致agollo客户端死循环 #343

@Zhuyi731

Description

@Zhuyi731

描述bug
在请求完notifycationId后,请求某个namespace配置之前,连续发布两次,会导致agollo客户端死循环,非必现,需要打断点或者修改客户端源码加sleep

复现

通过如下步骤可以复现:

  1. 选择一个namespace更新一个配置项
  2. 点击发布,此时notificationId为2
  3. 客户端/notifications/v2?appId=test&cluster=default&notifications=1收到notificationId更新通知, 响应为notificationId:2
  4. 此时再次点击发布,此时notificationId为3
  5. 客户端发起请求/config/test/default/testNamespace?releaseKey=20250903151501, 收到响应为新的配置以及最新的releaseKey(假设为20250903151503)
  6. 客户端请求/notifications/v2?appId=test&cluster=default&notifications=2, 收到notificationId更新通知, 响应为notificationId:3
  7. 客户端发起请求/config/test/default/testNamespace?releaseKey=20250903151503, 收到响应为304(服务端判断与最新releaseKey相同,直接返回304)
  8. agollo客户端遇到304不会去更新notificationId,导致客户端内存中客户端id依旧为2
  9. 此时进入5-8的死循环

这种情况下会导致客户端疯狂请求apollo,导致流量暴增

期望

v2.4.0 是否已经解决这个问题
是否有方案可以解决这种情况

截图

Image

额外的细节和日志

  • 版本:v2.1.0 agollo: v4.4.0
  • 错误日志
  • 配置:
  • 平台和操作系统

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions