diff --git a/checkin_notes b/checkin_notes index 40cafd728e..d88d567b41 100755 --- a/checkin_notes +++ b/checkin_notes @@ -5419,3 +5419,14 @@ David 2 June 2006 cs_apps.C cs_prefs.C cs_scheduler.C + +Bruce 3 June 2006 + - Transitioner: nasty bug in logging, wrong result id/name + - Scheduler: clearer logging for debugging purposes + + db/ + boinc_db.C + boinc_db.h + sched/ + handle_request.C + transitioner.C diff --git a/db/boinc_db.C b/db/boinc_db.C index f2df1fb5fe..4378af286c 100644 --- a/db/boinc_db.C +++ b/db/boinc_db.C @@ -1308,6 +1308,7 @@ void SCHED_RESULT_ITEM::parse(MYSQL_ROW& r) { received_time = atoi(r[i++]); validate_state = atoi(r[i++]); outcome = atoi(r[i++]); + client_state = atoi(r[i++]); } int DB_SCHED_RESULT_ITEM_SET::add_result(char* result_name) { @@ -1338,7 +1339,8 @@ int DB_SCHED_RESULT_ITEM_SET::enumerate() { " sent_time, " " received_time, " " validate_state, " - " outcome " + " outcome, " + " client_state " "FROM " " result " "WHERE " diff --git a/db/boinc_db.h b/db/boinc_db.h index 2b80824181..caa1793955 100755 --- a/db/boinc_db.h +++ b/db/boinc_db.h @@ -466,7 +466,7 @@ struct MSG_TO_HOST { }; struct TRANSITIONER_ITEM { - int id; + int id; // WARNING: this is the WU ID char name[256]; int appid; int min_quorum; @@ -483,7 +483,7 @@ struct TRANSITIONER_ITEM { char result_template_file[64]; int priority; int batch; - int res_id; + int res_id; // This is the RESULT ID char res_name[256]; int res_report_deadline; int res_server_state; diff --git a/sched/handle_request.C b/sched/handle_request.C index 28b2bbc6a4..30a8ec4c04 100644 --- a/sched/handle_request.C +++ b/sched/handle_request.C @@ -152,7 +152,7 @@ static void mark_results_aborted(DB_HOST& host) { log_messages.printf( SCHED_MSG_LOG::MSG_CRITICAL, - "[HOST#%d] [RESULT#%d] [WU#%d] marking in-progress result %s as client error!\n", + "[HOST#%d] [RESULT#%d] [WU#%d] changed CPID: marking in-progress result %s as client error!\n", host.id, result.id, result.workunitid, result.name ); } @@ -302,7 +302,7 @@ lookup_user_and_make_new_host: if (find_host_by_cpid(user, sreq.host.host_cpid, host)) { log_messages.printf( SCHED_MSG_LOG::MSG_CRITICAL, - "[HOST#%d] [USER#%d] User has another host with same CPID. Marking in-progress results as errors.\n", + "[HOST#%d] [USER#%d] User has another host with same CPID.\n", host.id, host.userid ); mark_results_aborted(host); @@ -608,8 +608,8 @@ int handle_results(SCHEDULER_REQUEST& sreq, SCHEDULER_REPLY& reply) { } log_messages.printf( - SCHED_MSG_LOG::MSG_NORMAL, "[HOST#%d] [RESULT#%d %s] got result\n", - reply.host.id, srip->id, srip->name + SCHED_MSG_LOG::MSG_NORMAL, "[HOST#%d] [RESULT#%d %s] got result (DB: server_state=%d outcome=%d client_state=%d validate_state=%d)\n", + reply.host.id, srip->id, srip->name, srip->server_state, srip->outcome, srip->client_state, srip->validate_state ); // Do various sanity checks. diff --git a/sched/transitioner.C b/sched/transitioner.C index 18d1b91a58..d21763a52a 100644 --- a/sched/transitioner.C +++ b/sched/transitioner.C @@ -215,8 +215,8 @@ int handle_wu( log_messages.printf( SCHED_MSG_LOG::MSG_NORMAL, "[WU#%d %s] [RESULT#%d %s] validate_state:INIT=>TOO_LATE retval %d\n", - wu_item.id, wu_item.name, res_item.id, - res_item.name, retval + wu_item.id, wu_item.name, res_item.res_id, + res_item.res_name, retval ); } else { have_new_result_to_validate = true;