Skip to content

Not all communicators subscribe to info keys #13067

@devreal

Description

@devreal

While reviewing #12189 I found what seems to be a discrepancy in the info key handling between communicators created with different functions. Some communicators subscribe to the info keys, some only copy them. When subscribed, the communicator will get notified of updates when the user calls MPI_Comm_set_info. Otherwise, no such update happens and we don't even parse the info keys. Some time ago we fixed the handling of mpi_assert_allow_overtake so that it can be set once after the communicator has been created (#9843) so that is a valid use-case.

Here is the list of functions that support changing info keys through MPI_Comm_set_info:

The list of functions that do not support it:

We should probably harmonize that in some way, i.e., always subscribe to the info keys. For internal communicators that will never have other info keys set we could pass a flag to suppress. However, it's strange that setting mpi_assert_allow_overtake on a communicator created with MPI_Comm_dup would work while it wouldn't work on a communicator created with MPI_Comm_create.

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

    Issue actions