@@ -1250,7 +1250,6 @@ static int ompi_instance_group_pmix_pset (ompi_instance_t *instance, const char
1250
1250
* First try finding in the local PMIx cache, if not found, try a refresh
1251
1251
*/
1252
1252
fn_try_again :
1253
- rc = PMIx_Query_info (& query , 1 , & info , & ninfo );
1254
1253
if (PMIX_SUCCESS != (rc = PMIx_Query_info (& query , 1 , & info , & ninfo )) || 0 == ninfo ) {
1255
1254
if ((PMIX_ERR_NOT_FOUND == rc ) && (false == try_again )) {
1256
1255
try_again = true;
@@ -1260,9 +1259,39 @@ static int ompi_instance_group_pmix_pset (ompi_instance_t *instance, const char
1260
1259
PMIX_INFO_CREATE (query .qualifiers , 2 );
1261
1260
PMIX_INFO_LOAD (& query .qualifiers [0 ], PMIX_PSET_NAME , pset_name , PMIX_STRING );
1262
1261
PMIX_INFO_LOAD (& query .qualifiers [1 ], PMIX_QUERY_REFRESH_CACHE , & refresh , PMIX_BOOL );
1262
+ query .nqual = 2 ;
1263
1263
goto fn_try_again ;
1264
1264
}
1265
- ret = opal_pmix_convert_status (rc );
1265
+ }
1266
+
1267
+ if (PMIX_SUCCESS != rc ) {
1268
+ char msg_string [1024 ];
1269
+ switch (rc ) {
1270
+ case PMIX_ERR_NOT_FOUND :
1271
+ ret = MPI_ERR_ARG ; /* pset_name not valid */
1272
+ break ;
1273
+ case PMIX_ERR_UNREACH :
1274
+ sprintf (msg_string ,"PMIx server unreachable" );
1275
+ opal_show_help ("help-comm.txt" ,
1276
+ "MPI function not supported" ,
1277
+ true,
1278
+ "MPI_Group_from_session_pset" ,
1279
+ msg_string );
1280
+ ret = MPI_ERR_UNSUPPORTED_OPERATION ;
1281
+ break ;
1282
+ case PMIX_ERR_NOT_SUPPORTED :
1283
+ sprintf (msg_string ,"PMIx server does not support PMIX_QUERY_PSET_MEMBERSHIP operation" );
1284
+ opal_show_help ("help-comm.txt" ,
1285
+ "MPI function not supported" ,
1286
+ true,
1287
+ "MPI_Group_from_session_pset" ,
1288
+ msg_string );
1289
+ ret = MPI_ERR_UNSUPPORTED_OPERATION ;
1290
+ break ;
1291
+ default :
1292
+ ret = opal_pmix_convert_status (rc );
1293
+ break ;
1294
+ }
1266
1295
ompi_instance_print_error ("PMIx_Query_info() failed" , ret );
1267
1296
goto fn_w_query ;
1268
1297
}
0 commit comments