Skip to content

[Request] TargetConnectionManager should not rely on locking #967

@andrewazores

Description

@andrewazores

Describe the feature

Since 3.0 or maybe shortly afterward, the TargetConnectionManager was reworked to use Mutiny Unis for asynchronous value emission, so methods are no longer blocking and callers subscribe to the asynchronous responses. This means there are further opportunities to optimize the connection manager by removing the internal target URL-based locking construct. Instead, queues can be formed for each Target, and available workers can take work off the queue, perform it, and submit the result to the subscriber asynchronously. This non-locking structure should eliminate the risk of deadlocking and reduce thread context switching overhead, while ensuring there is still ordering of actions performed on targets.

Anything other information?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    featNew feature or request

    Type

    No type

    Projects

    Status

    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions