Skip to content

BUG: Provider event handlers are disappearing #1919

@man85

Description

@man85

There are some event handlers:

...
        val uncheckedClient=openFeatureAPI.getClient(UNCHECKED_DOMAIN)
        val checkedClient=openFeatureAPI.client
...
        uncheckedClient.onProviderConfigurationChanged { eventDetails: EventDetails ->
            uncheckedListeners.forEach { it.onChanged(eventDetails) }
        }
        checkedClient.onProviderConfigurationChanged { eventDetails: EventDetails ->
            checkedListeners.forEach { it.onChanged(eventDetails) }
        }
        uncheckedClient.onProviderReady { eventDetails: EventDetails ->
            uncheckedListeners.forEach { it.onChanged(eventDetails) }
        }
        checkedClient.onProviderReady { eventDetails: EventDetails ->
            checkedListeners.forEach { it.onChanged(eventDetails) }
        }

At some time I noticed that event handler hasn't be invoked.
It was deleted from OpenFeatureAPI.eventSupport after flags were sent to the provider without a domain.
This happens here.
I suppose the EventSupport.getAllDomainNames() should return a copy of keyset.
The same suggestion for ProviderRepository.getAllBoundDomains().

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions