You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(clustering) constant cache flips on dp because of invalidations event (Kong#7112)
### Summary
@murillopaula let us know about hybrid mode behavior that caused constant
flips of data plane configuration even when no change was actively made
with admin api.
It turned out that our `clustering` module subscribes to `invalidations`,
and on each `invalidations` event it starts to push configs to data planes
connected to it. With further look it was also found that the `clustering`
module will by itself generate `invalidations` events when it updates the
`clustering_data_planes` table about the information of the data plane that
connected to it (e.g. last seen status). This caused constant `invalidations`
happen across the control plane cluster and then in turn caused constant
sending of config and config flips on data planes.
The solution was to make check for handling the `dao:crud` event more strict,
and make that to create another cluster event called `clustering:invalidation`,
that in turn causes config push. This indirection allows us to filter those
invalidations events that don't cause actual database change. And the clustering
module does not subscribe anymore to the generic `invalidations` event, which
has a more broad scope than database entity invalidations.
0 commit comments