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
Instead of having to determine the rules version with each incoming
request by the listener, we can just make use the already existing
incremental update mechanism to keep the version up-to-date. This way,
the version will only be updated when a rule is added, changed, or deleted,
so there will be no performance impact on the listener side.
Apart from that, the listener responds and verifies the rules version on
a per-source basis now. As required by the internal document, event rules
will be tied to their source because only this source knows how to evaluate
them. Therefore, the database `rule` table has been extended to include a
`source_id` column, and consequently, each source will only receive the
rules that are relevant to it. Thus, initially, when a source submits an
event, it will likely be rejected but at the same time receive the current
rules, so it can retry the event submission with the correct event rules.
This way, no extra HTTP request is needed to fetch the rules, as we will
always respond with the newest ones whenever we detect that they're using
an outdated event rules config.
0 commit comments