diff --git a/src/common/assoc_mgr.c b/src/common/assoc_mgr.c index fda3d20ada95d48b0e9b04f6f219ff313051ef4b..320f98e46ed9615632d9d201b08a5f190d12a3fa 100644 --- a/src/common/assoc_mgr.c +++ b/src/common/assoc_mgr.c @@ -1067,9 +1067,11 @@ extern int assoc_mgr_fill_in_user(void *db_conn, acct_user_rec_t *user, slurm_mutex_lock(&assoc_mgr_user_lock); itr = list_iterator_create(assoc_mgr_user_list); while((found_user = list_next(itr))) { - if(user->uid == found_user->uid) - break; - else if(user->name && !strcasecmp(user->name, found_user->name)) + if(user->uid != NO_VAL) { + if(user->uid == found_user->uid) + break; + } else if(user->name + && !strcasecmp(user->name, found_user->name)) break; } list_iterator_destroy(itr); @@ -1266,13 +1268,14 @@ extern int assoc_mgr_fill_in_wckey(void *db_conn, acct_wckey_rec_t *wckey, } continue; } else { - if((wckey->uid != NO_VAL) - && (wckey->uid != found_wckey->uid)) { - debug4("not the right user %u != %u", - wckey->uid, found_wckey->uid); - continue; - } else if(wckey->user && strcasecmp(wckey->user, - found_wckey->user)) + if(wckey->uid != NO_VAL) { + if(wckey->uid != found_wckey->uid) { + debug4("not the right user %u != %u", + wckey->uid, found_wckey->uid); + continue; + } + } else if(wckey->user && strcasecmp(wckey->user, + found_wckey->user)) continue; if(wckey->name diff --git a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c index 51b22fb3e76482cd8986ad90111413edd701c33d..5ef8d8ca8f8d98fa9917e292da18cbe7c9b35c4e 100644 --- a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c +++ b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c @@ -217,16 +217,18 @@ static uint32_t _get_wckeyid(mysql_conn_t *mysql_conn, char **name, /* since we are unable to rely on uids here (someone could not have there uid in the system yet) we must first get the user name from the associd */ - if(!(user = _get_user_from_associd(mysql_conn, associd))) + if(!(user = _get_user_from_associd(mysql_conn, associd))) { + error("No user for associd %u", associd); goto no_wckeyid; - + } /* get the default key */ if(!*name) { acct_user_rec_t user_rec; memset(&user_rec, 0, sizeof(acct_user_rec_t)); + user_rec.uid = NO_VAL; user_rec.name = user; if(assoc_mgr_fill_in_user(mysql_conn, &user_rec, - 1) != SLURM_SUCCESS) { + 1, NULL) != SLURM_SUCCESS) { error("No user by name of %s", user); goto no_wckeyid; } diff --git a/src/plugins/priority/multifactor/priority_multifactor.c b/src/plugins/priority/multifactor/priority_multifactor.c index d27b12a61089bd8a95c306be8e3bdac2f9a00ade..0437109c121b2ef81c23f7f40a56e04b029ca644 100644 --- a/src/plugins/priority/multifactor/priority_multifactor.c +++ b/src/plugins/priority/multifactor/priority_multifactor.c @@ -538,7 +538,6 @@ static void *_decay_thread(void *no_data) slurm_mutex_lock(&assoc_mgr_association_lock); while(assoc) { - info("got assoc id of %u", assoc->id); assoc->used_shares += (long double)real_decay; debug4("adding %f new usage to %u" diff --git a/src/scontrol/update_job.c b/src/scontrol/update_job.c index 27df3af0c6003f429b935675c3cf99eb4cd32ed6..b332b697967c26f1a94ceee902a6938748744d69 100644 --- a/src/scontrol/update_job.c +++ b/src/scontrol/update_job.c @@ -352,6 +352,10 @@ scontrol_update_job (int argc, char *argv[]) job_msg.name = &argv[i][5]; update_cnt++; } + else if (strncasecmp(argv[i], "WCKey=", 6) == 0) { + job_msg.wckey = &argv[i][6]; + update_cnt++; + } else if (strncasecmp(argv[i], "Shared=", 7) == 0) { if (strcasecmp(&argv[i][7], "YES") == 0) job_msg.shared = 1; diff --git a/src/sview/job_info.c b/src/sview/job_info.c index c34edf02f859d8420ab06bf7cf4ce715c6b186af..2e5eb2e303980af3f499ed0ef5bb6905b58dcdfa 100644 --- a/src/sview/job_info.c +++ b/src/sview/job_info.c @@ -663,27 +663,23 @@ static const char *_set_job_msg(job_desc_msg_t *job_msg, const char *new_text, type = "name"; break; case SORTID_WCKEY: - xstrfmtcat(job_msg->name, "\"%s", new_text); + job_msg->wckey = xstrdup(new_text); type = "wckey"; break; case SORTID_SHARED: - if (!strcasecmp(new_text, "yes")) { + if (!strcasecmp(new_text, "yes")) job_msg->shared = 1; - - } else { + else job_msg->shared = 0; - } type = "shared"; break; case SORTID_CONTIGUOUS: - if (!strcasecmp(new_text, "yes")) { + if (!strcasecmp(new_text, "yes")) job_msg->contiguous = 1; - - } else { + else job_msg->contiguous = 0; - } type = "contiguous"; break; case SORTID_REQ_NODELIST: