Skip to content

Probing AM not possible if local endpoint has closed #308

@pentschev

Description

@pentschev

Probing AM is not possible if the local endpoint has closed, as opposed to the remote endpoint closing. This is due to ucxx::Endpoint::_handle being swapped with nullptr after ucxx::Endpoint::close{,Blocking} is called, after which is impossible to obtain the original handle to probe for AM in the worker. Additionally, the Python async interface relies on the Python core bindings to execute UCXEndpoint.am_probe() but calling Endpoint.close()/Endpoint.abort() assigns the underlying self._ep = None, after that time there are no more ways to probe for AM for that endpoint even if the handle is known since ucxx::Worker::amProbe() is not even exposed directly to the Python core bindings, but only via UCXEndpoint.am_probe().

Once this is resolved, test_message_probe should be split into two: test_message_probe_local_close and test_message_probe_remote_close (exactly what test_message_probe is today).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions