Skip to content

Commit 36a0c6a

Browse files
committed
pmix: fixed the direct modex request
This commit fixes the case when local client asks for the key from the process on the remote node. The local server don't have commit count for remote ranks, it is maintained by another PMIx server, so commit count should be ignored for remote requests. Signed-off-by: Boris Karasev <karasev.b@gmail.com>
1 parent a2d1419 commit 36a0c6a

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

opal/mca/pmix/pmix3x/pmix/src/server/pmix_server_get.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,14 @@ static pmix_status_t _satisfy_request(pmix_nspace_t *nptr, pmix_rank_t rank,
689689

690690
/* retrieve the data for the specific rank they are asking about */
691691
if (PMIX_RANK_WILDCARD != rank) {
692-
if (!peer->commit_cnt) {
692+
if (!PMIX_PROC_IS_SERVER(peer) && !peer->commit_cnt) {
693+
/* this condition works only for local requests, server does
694+
* count commits for local ranks, and check this count when
695+
* local request.
696+
* if that request performs for remote rank on the remote
697+
* node (by direct modex) so `peer->commit_cnt` should be ignored,
698+
* it is can not be counted for the remote side and this condition
699+
* does not matter for remote case */
693700
return PMIX_ERR_NOT_FOUND;
694701
}
695702
proc.rank = rank;

0 commit comments

Comments
 (0)