Skip to content

Better handling for long-running dsl watcher methods #3609

Closed
@shawkins

Description

@shawkins
Contributor

Is your task related to a problem? Please describe

Informable.inform or any Watchers use the okhttp websocket thread for handling event processing. If the user has a long running method (greater than several seconds), which they are advised not to, that will trigger an exception due to not handling the pong. However the exception handling currently just triggers the watch to be restarted, which can cause concurrent calls on the Watcher which is not expected.

I don't believe this should not be an issue with the java client.

Describe the solution you'd like

At the very least this should be more strongly documented and the usage of async event handling encouraged.

Describe alternatives you've considered

No response

Additional context

No response

Activity

added a commit that references this issue on Nov 24, 2021

fix fabric8io#3609 addressing concurrency with long running Watcher m…

4a97c9a
shawkins

shawkins commented on Nov 24, 2021

@shawkins
ContributorAuthor

Part of what contributes to this issue is that the integration tests rely on ClientResourceProvider to create the injected KubernetesClient. It passes the existing uber/shaded v4 Config to the instance be constructed. Since that has a different default for websocket ping interval the integration tests will use 1 second rather than 30 seconds - which makes it very likely for debugging to trigger this issue.

@rohanKanojia @manusa does this warrant another issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @shawkins

        Issue actions

          Better handling for long-running dsl watcher methods · Issue #3609 · fabric8io/kubernetes-client