From b6ce62bf74e1b8b861f180a2ac83fd418c82c7f7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20=C5=A0ustr?= Date: Fri, 15 Jun 2012 12:56:32 +0000 Subject: [PATCH] Merge from branch 3.2 to HEAD, take 2 --- org.glite.lb.client-java/configure | 2 +- org.glite.lb.client/configure | 2 +- org.glite.lb.common/configure | 2 +- org.glite.lb.logger-msg/configure | 2 +- org.glite.lb.server/configure | 2 +- org.glite.lb.server/src/dump.c | 62 ++++++++++++++++++++++++++++++++++++ org.glite.lb.state-machine/configure | 2 +- org.glite.lb/configure | 2 +- 8 files changed, 69 insertions(+), 7 deletions(-) diff --git a/org.glite.lb.client-java/configure b/org.glite.lb.client-java/configure index e457931..4be8ff9 100755 --- a/org.glite.lb.client-java/configure +++ b/org.glite.lb.client-java/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; diff --git a/org.glite.lb.client/configure b/org.glite.lb.client/configure index e457931..4be8ff9 100755 --- a/org.glite.lb.client/configure +++ b/org.glite.lb.client/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; diff --git a/org.glite.lb.common/configure b/org.glite.lb.common/configure index e457931..4be8ff9 100755 --- a/org.glite.lb.common/configure +++ b/org.glite.lb.common/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; diff --git a/org.glite.lb.logger-msg/configure b/org.glite.lb.logger-msg/configure index e457931..4be8ff9 100755 --- a/org.glite.lb.logger-msg/configure +++ b/org.glite.lb.logger-msg/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; diff --git a/org.glite.lb.server/configure b/org.glite.lb.server/configure index e457931..4be8ff9 100755 --- a/org.glite.lb.server/configure +++ b/org.glite.lb.server/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; diff --git a/org.glite.lb.server/src/dump.c b/org.glite.lb.server/src/dump.c index ea85059..fc14fa6 100644 --- a/org.glite.lb.server/src/dump.c +++ b/org.glite.lb.server/src/dump.c @@ -84,6 +84,68 @@ int edg_wll_DumpEventsServer(edg_wll_Context ctx,const edg_wll_DumpRequest *req, glite_lbu_TimeToStr(from, &from_s); glite_lbu_TimeToStr(to, &to_s); + // Take care of implicit subjob registration events + trio_asprintf(&stmt2, + "select s.jobid,s.parent_job,ef.ulm,j.dg_jobid,s.int_status,e.arrived from states s, events_flesh ef, events e,jobs j " + "where s.parent_job<>'*no parent job*' AND " + "ef.jobid=s.parent_job AND (e.code=%d OR e.code=%d) AND " + "e.jobid=ef.jobid AND e.event=ef.event AND " + "e.arrived > %s AND e.arrived <= %s AND " + "j.jobid=s.jobid", + EDG_WLL_EVENT_REGJOB, EDG_WLL_EVENT_FILETRANSFERREGISTER, + from_s,to_s); + glite_common_log_msg(LOG_CATEGORY_LB_SERVER_DB, LOG_PRIORITY_DEBUG, stmt2); + if (edg_wll_ExecSQL(ctx,stmt2,&q2) < 0) goto clean; + + while ((ret = edg_wll_FetchRow(ctx,q2,sizeof(res2)/sizeof(res2[0]),NULL,res2)) > 0) { + glite_common_log(LOG_CATEGORY_LB_SERVER, LOG_PRIORITY_DEBUG, "Dumping subjob %s, parent %s", res2[0], res2[1]); + + edg_wll_ParseEvent(ctx,res2[2],&f); + + f->regJob.nsubjobs = 0; + f->regJob.parent = f->any.jobId; + + f->any.jobId=NULL; + edg_wlc_JobIdParse(res2[3], &f->any.jobId); + + f->any.arrived.tv_sec = glite_lbu_StrToTime(res2[5]); + f->any.arrived.tv_usec = 0; + + char *rest; + stat = dec_intJobStat(res2[4], &rest); + //nasty but not the only similar solution in code + switch (stat->pub.jobtype) { + case EDG_WLL_STAT_SIMPLE: + f->regJob.jobtype = EDG_WLL_REGJOB_SIMPLE; break; + case EDG_WLL_STAT_FILE_TRANSFER: + f->regJob.jobtype = EDG_WLL_REGJOB_FILE_TRANSFER; break; + default: + f->regJob.jobtype = EDG_WLL_REGJOB_JOBTYPE_UNDEFINED; + glite_common_log(LOG_CATEGORY_LB_SERVER, LOG_PRIORITY_WARN, "Job %s has type %d but it also lists a parent job %s", res2[2], stat->pub.jobtype, res2[1]); + } + + char arr_s[100]; + event_s = edg_wll_UnparseEvent(ctx,f); + edg_wll_ULMTimevalToDate(f->any.arrived.tv_sec, f->any.arrived.tv_usec, arr_s); + asprintf(&dumpline, "DG.ARRIVED=%s %s\n", arr_s, event_s); + + len = strlen(dumpline); + total = 0; + while (total != len) { + written = write(dump,dumpline+total,len-total); + if (written < 0 && errno != EAGAIN) { + edg_wll_SetError(ctx,errno,"writing dump file"); + break; + } + total += written; + } + edg_wll_FreeStatus(intJobStat_to_JobStat(stat)); + free(event_s); + free(dumpline); + edg_wll_FreeEvent(f); + if (total != len) goto clean; + } + trio_asprintf(&stmt, "select event,dg_jobid,code,prog,host,u.cert_subj,time_stamp,usec,level,arrived,seqcode " "from events e,users u,jobs j " diff --git a/org.glite.lb.state-machine/configure b/org.glite.lb.state-machine/configure index e457931..4be8ff9 100755 --- a/org.glite.lb.state-machine/configure +++ b/org.glite.lb.state-machine/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; diff --git a/org.glite.lb/configure b/org.glite.lb/configure index e457931..4be8ff9 100755 --- a/org.glite.lb/configure +++ b/org.glite.lb/configure @@ -1460,7 +1460,7 @@ sub mode_etics_packaging { my ($workspaceDir, $srcPackageName, $srcAge, $topDir); # old-school packaging by ETICS for EMI-1 - if ($project eq 'emi' and $project_version == 1) { return; } + if ($project eq 'emi' and $project_version == 1 and $fmod ne 'gridsite.core') { return; } if ($fmod eq 'gridsite.core') { $workspaceDir = '..'; -- 1.8.2.3