Skip to content

Dynamic filter config provider provides empty config when listener updates #14934

@bianpengyuan

Description

@bianpengyuan

I am using ECDS to provide dynamic extension configuration. When listener updates, dynamic filter config provider will return empty config for the new listener:

I think what happens is that when listener updates, old listener takes time to drain, ECDS subscription is not destroyed when new listener is constructed, so it is reused by the new listener:

auto it = subscriptions_.find(subscription_id);

But a new dynamic filter config provider is created with the new listener and will be warming and wait for any subscription update:

auto filter_config_provider = filter_config_provider_manager_.createDynamicFilterConfigProvider(

However, when subscription receives new update, if config does not have any change from last update, it will skip updating provider. Listener will be considered as warmed, and provider will stuck with empty config until next ECDS update with diff.

if (new_hash == last_config_hash_) {

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions