From: Miloš Mulač Date: Thu, 30 Nov 2006 09:46:31 +0000 (+0000) Subject: new source LBS (LBServer) added to sequence code string X-Git-Tag: glite-lb-server_generic2_start~16 X-Git-Url: http://scientific.zcu.cz/git/?a=commitdiff_plain;h=3c897f39e6b50be12305a76f4a86b71767d80449;p=jra1mw.git new source LBS (LBServer) added to sequence code string - slightly tested - no backwards compatibility yet --- diff --git a/org.glite.lb.client-interface/interface/context.h b/org.glite.lb.client-interface/interface/context.h index 9c78a55..34d2d5a 100644 --- a/org.glite.lb.client-interface/interface/context.h +++ b/org.glite.lb.client-interface/interface/context.h @@ -77,6 +77,7 @@ typedef enum _edg_wll_Source { EDG_WLL_SOURCE_LOG_MONITOR, EDG_WLL_SOURCE_LRMS, EDG_WLL_SOURCE_APPLICATION, + EDG_WLL_SOURCE_LB_SERVER, EDG_WLL_SOURCE__LAST /* marker, for internal use only */ } edg_wll_Source; diff --git a/org.glite.lb.client/examples/gen_begin b/org.glite.lb.client/examples/gen_begin index bcc5083..4a0d935 100755 --- a/org.glite.lb.client/examples/gen_begin +++ b/org.glite.lb.client/examples/gen_begin @@ -51,7 +51,7 @@ then test -z "$EDG_JOBID" && exit 4 echo EDG_JOBID=$EDG_JOBID else - test -z "$EDG_WL_SEQUENCE" && EDG_WL_SEQUENCE="UI=000003:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" + test -z "$EDG_WL_SEQUENCE" && EDG_WL_SEQUENCE="UI=000003:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000" fi send_log_ev() diff --git a/org.glite.lb.common/interface/context-int.h b/org.glite.lb.common/interface/context-int.h index 6935154..1c2fa43 100644 --- a/org.glite.lb.common/interface/context-int.h +++ b/org.glite.lb.common/interface/context-int.h @@ -17,7 +17,7 @@ typedef struct _edg_wll_SeqCode { unsigned int c[EDG_WLL_SOURCE__LAST]; } edg_wll_SeqCode; -#define EDG_WLL_SEQ_NULL "UI=000000:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000" +#define EDG_WLL_SEQ_NULL "UI=000000:NS=0000000000:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000" /* non-gsi one-element analogy of connPool for L&B Proxy server */ diff --git a/org.glite.lb.common/src/context.c b/org.glite.lb.common/src/context.c index 3e0ea8a..29a8f78 100644 --- a/org.glite.lb.common/src/context.c +++ b/org.glite.lb.common/src/context.c @@ -261,6 +261,7 @@ static const char* const srcNames[] = { "LogMonitor", "LRMS", "Application", + "LBServer", }; edg_wll_Source edg_wll_StringToSource(const char *name) @@ -312,7 +313,7 @@ char *edg_wll_GetSequenceCode(const edg_wll_Context ctx) c = &ctx->p_seqcode.c[0]; asprintf(&ret, "UI=%06d:NS=%010d:WM=%06d:BH=%010d:JSS=%06d" - ":LM=%06d:LRMS=%06d:APP=%06d", + ":LM=%06d:LRMS=%06d:APP=%06d:LBS=%06d", c[EDG_WLL_SOURCE_USER_INTERFACE], c[EDG_WLL_SOURCE_NETWORK_SERVER], c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -320,7 +321,8 @@ char *edg_wll_GetSequenceCode(const edg_wll_Context ctx) c[EDG_WLL_SOURCE_JOB_SUBMISSION], c[EDG_WLL_SOURCE_LOG_MONITOR], c[EDG_WLL_SOURCE_LRMS], - c[EDG_WLL_SOURCE_APPLICATION]); + c[EDG_WLL_SOURCE_APPLICATION], + c[EDG_WLL_SOURCE_LB_SERVER]); return ret; } @@ -345,7 +347,7 @@ int edg_wll_SetSequenceCode(edg_wll_Context ctx, } c = &ctx->p_seqcode.c[0]; - res = sscanf(seqcode_str, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d", + res = sscanf(seqcode_str, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d", &c[EDG_WLL_SOURCE_USER_INTERFACE], &c[EDG_WLL_SOURCE_NETWORK_SERVER], &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -353,9 +355,10 @@ int edg_wll_SetSequenceCode(edg_wll_Context ctx, &c[EDG_WLL_SOURCE_JOB_SUBMISSION], &c[EDG_WLL_SOURCE_LOG_MONITOR], &c[EDG_WLL_SOURCE_LRMS], - &c[EDG_WLL_SOURCE_APPLICATION]); + &c[EDG_WLL_SOURCE_APPLICATION], + &c[EDG_WLL_SOURCE_LB_SERVER]); - assert(EDG_WLL_SOURCE__LAST == 9); + assert(EDG_WLL_SOURCE__LAST == 10); if (res != EDG_WLL_SOURCE__LAST-1) return edg_wll_SetError(ctx, EINVAL, "edg_wll_SetSequenceCode(): syntax error in sequence code"); diff --git a/org.glite.lb.server/src/jobstat.c b/org.glite.lb.server/src/jobstat.c index ece24da..4a158ad 100644 --- a/org.glite.lb.server/src/jobstat.c +++ b/org.glite.lb.server/src/jobstat.c @@ -718,12 +718,16 @@ static int log_collectionState_event(edg_wll_Context ctx, edg_wll_JobStatCode st edg_wll_InitEvent(EDG_WLL_EVENT_COLLECTIONSTATE); event->any.user = strdup(ctx->serverIdentity); - event->any.seqcode = strdup(ce->any.seqcode); // XXX: nonsense, just something.. + if (!edg_wll_SetSequenceCode(ctx,pis->last_seqcode,EDG_WLL_SEQ_NORMAL)) { + ctx->p_source = EDG_WLL_SOURCE_LB_SERVER; + edg_wll_IncSequenceCode(ctx); + } + event->any.seqcode = edg_wll_GetSequenceCode(ctx); edg_wlc_JobIdDup(pis->pub.jobId, &(event->any.jobId)); gettimeofday(&event->any.timestamp,0); if (ctx->p_host) event->any.host = strdup(ctx->p_host); event->any.level = ctx->p_level; - event->any.source = EDG_WLL_SOURCE_USER_INTERFACE; // XXX: is it meaningfull? + event->any.source = EDG_WLL_SOURCE_LB_SERVER; event->collectionState.state = state; diff --git a/org.glite.lb.server/src/jobstat_supp.c b/org.glite.lb.server/src/jobstat_supp.c index 504284f..8ac4259 100644 --- a/org.glite.lb.server/src/jobstat_supp.c +++ b/org.glite.lb.server/src/jobstat_supp.c @@ -714,7 +714,7 @@ int component_seqcode(const char *a, edg_wll_Source index) unsigned int c[EDG_WLL_SOURCE__LAST]; int res; - res = sscanf(a, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d", + res = sscanf(a, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d", &c[EDG_WLL_SOURCE_USER_INTERFACE], &c[EDG_WLL_SOURCE_NETWORK_SERVER], &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -722,7 +722,8 @@ int component_seqcode(const char *a, edg_wll_Source index) &c[EDG_WLL_SOURCE_JOB_SUBMISSION], &c[EDG_WLL_SOURCE_LOG_MONITOR], &c[EDG_WLL_SOURCE_LRMS], - &c[EDG_WLL_SOURCE_APPLICATION]); + &c[EDG_WLL_SOURCE_APPLICATION], + &c[EDG_WLL_SOURCE_LB_SERVER]); if (res != EDG_WLL_SOURCE__LAST-1) { syslog(LOG_ERR, "unparsable sequence code %s\n", a); fprintf(stderr, "unparsable sequence code %s\n", a); @@ -738,7 +739,7 @@ char * set_component_seqcode(char *s,edg_wll_Source index,int val) int res; char *ret; - res = sscanf(s, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d", + res = sscanf(s, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d", &c[EDG_WLL_SOURCE_USER_INTERFACE], &c[EDG_WLL_SOURCE_NETWORK_SERVER], &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -746,7 +747,8 @@ char * set_component_seqcode(char *s,edg_wll_Source index,int val) &c[EDG_WLL_SOURCE_JOB_SUBMISSION], &c[EDG_WLL_SOURCE_LOG_MONITOR], &c[EDG_WLL_SOURCE_LRMS], - &c[EDG_WLL_SOURCE_APPLICATION]); + &c[EDG_WLL_SOURCE_APPLICATION], + &c[EDG_WLL_SOURCE_LB_SERVER]); if (res != EDG_WLL_SOURCE__LAST-1) { syslog(LOG_ERR, "unparsable sequence code %s\n", s); fprintf(stderr, "unparsable sequence code %s\n", s); @@ -755,7 +757,7 @@ char * set_component_seqcode(char *s,edg_wll_Source index,int val) c[index] = val; trio_asprintf(&ret,"UI=%06d:NS=%010d:WM=%06d:BH=%010d:JSS=%06d" - ":LM=%06d:LRMS=%06d:APP=%06d", + ":LM=%06d:LRMS=%06d:APP=%06d:LBS=%06d", c[EDG_WLL_SOURCE_USER_INTERFACE], c[EDG_WLL_SOURCE_NETWORK_SERVER], c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -763,7 +765,8 @@ char * set_component_seqcode(char *s,edg_wll_Source index,int val) c[EDG_WLL_SOURCE_JOB_SUBMISSION], c[EDG_WLL_SOURCE_LOG_MONITOR], c[EDG_WLL_SOURCE_LRMS], - c[EDG_WLL_SOURCE_APPLICATION]); + c[EDG_WLL_SOURCE_APPLICATION], + c[EDG_WLL_SOURCE_LB_SERVER]); return ret; } @@ -792,9 +795,9 @@ int edg_wll_compare_seq(const char *a, const char *b) unsigned int d[EDG_WLL_SOURCE__LAST]; int res, i; - assert(EDG_WLL_SOURCE__LAST == 9); + assert(EDG_WLL_SOURCE__LAST == 10); - res = sscanf(a, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d", + res = sscanf(a, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d", &c[EDG_WLL_SOURCE_USER_INTERFACE], &c[EDG_WLL_SOURCE_NETWORK_SERVER], &c[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -802,14 +805,15 @@ int edg_wll_compare_seq(const char *a, const char *b) &c[EDG_WLL_SOURCE_JOB_SUBMISSION], &c[EDG_WLL_SOURCE_LOG_MONITOR], &c[EDG_WLL_SOURCE_LRMS], - &c[EDG_WLL_SOURCE_APPLICATION]); + &c[EDG_WLL_SOURCE_APPLICATION], + &c[EDG_WLL_SOURCE_LB_SERVER]); if (res != EDG_WLL_SOURCE__LAST-1) { syslog(LOG_ERR, "unparsable sequence code %s\n", a); fprintf(stderr, "unparsable sequence code %s\n", a); return -1; } - res = sscanf(b, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d", + res = sscanf(b, "UI=%d:NS=%d:WM=%d:BH=%d:JSS=%d:LM=%d:LRMS=%d:APP=%d:LBS=%d", &d[EDG_WLL_SOURCE_USER_INTERFACE], &d[EDG_WLL_SOURCE_NETWORK_SERVER], &d[EDG_WLL_SOURCE_WORKLOAD_MANAGER], @@ -817,7 +821,8 @@ int edg_wll_compare_seq(const char *a, const char *b) &d[EDG_WLL_SOURCE_JOB_SUBMISSION], &d[EDG_WLL_SOURCE_LOG_MONITOR], &d[EDG_WLL_SOURCE_LRMS], - &d[EDG_WLL_SOURCE_APPLICATION]); + &d[EDG_WLL_SOURCE_APPLICATION], + &d[EDG_WLL_SOURCE_LB_SERVER]); if (res != EDG_WLL_SOURCE__LAST-1) { syslog(LOG_ERR, "unparsable sequence code %s\n", b); fprintf(stderr, "unparsable sequence code %s\n", b); diff --git a/org.glite.lb.server/src/process_event.c b/org.glite.lb.server/src/process_event.c index ab94365..4aa33ac 100644 --- a/org.glite.lb.server/src/process_event.c +++ b/org.glite.lb.server/src/process_event.c @@ -812,12 +812,11 @@ int processEvent(intJobStat *js, edg_wll_Event *e, int ev_seq, int strict, char break; case EDG_WLL_EVENT_COLLECTIONSTATE: new_state = e->collectionState.state; -//XXX: will be usefull with some meaningfull seq. code from COLLECTIONSTATE event -// if (USABLE(res, strict)) { + if (USABLE(res, strict)) { js->pub.state = new_state; if (new_state == EDG_WLL_JOB_DONE) js->pub.done_code = e->collectionState.done_code; -// } + } break; default: goto bad_event; diff --git a/org.glite.lb.server/src/ws_typemap.h b/org.glite.lb.server/src/ws_typemap.h index c539e58..9c7d1cc 100644 --- a/org.glite.lb.server/src/ws_typemap.h +++ b/org.glite.lb.server/src/ws_typemap.h @@ -55,5 +55,6 @@ #define LogMonitor lbt__eventSource__LogMonitor #define LRMS lbt__eventSource__LRMS #define Application lbt__eventSource__Application +#define LBServer lbt__eventSource__LBServer #endif diff --git a/org.glite.lb.server/src/ws_typeref.c.T b/org.glite.lb.server/src/ws_typeref.c.T index 5853f2a..9106493 100644 --- a/org.glite.lb.server/src/ws_typeref.c.T +++ b/org.glite.lb.server/src/ws_typeref.c.T @@ -736,7 +736,7 @@ int edg_wll_JobsQueryResToSoap( static void edg_wll_SoapToSource(enum lbt__eventSource in, edg_wll_Source *out) { - assert(EDG_WLL_SOURCE_APPLICATION + 1 == EDG_WLL_SOURCE__LAST); + assert(EDG_WLL_SOURCE_LB_SERVER + 1 == EDG_WLL_SOURCE__LAST); switch ( in ) { case UserInterface: *out = EDG_WLL_SOURCE_USER_INTERFACE; break; @@ -747,6 +747,7 @@ static void edg_wll_SoapToSource(enum lbt__eventSource in, edg_wll_Source *out) case LogMonitor: *out = EDG_WLL_SOURCE_LOG_MONITOR; break; case LRMS: *out = EDG_WLL_SOURCE_LRMS; break; case Application: *out = EDG_WLL_SOURCE_APPLICATION; break; + case LBServer: *out = EDG_WLL_SOURCE_LB_SERVER; break; default: assert(0); break; } } @@ -854,7 +855,7 @@ foreach ('_common_', sort { $event->{order}->{$a} <=> $event->{order}->{$b} } ge static void edg_wll_SourceToSoap(edg_wll_Source in, enum lbt__eventSource *out) { - assert(EDG_WLL_SOURCE_APPLICATION + 1 == EDG_WLL_SOURCE__LAST); + assert(EDG_WLL_SOURCE_LB_SERVER + 1 == EDG_WLL_SOURCE__LAST); switch ( in ) { case EDG_WLL_SOURCE_USER_INTERFACE: *out = UserInterface; break; @@ -865,6 +866,7 @@ static void edg_wll_SourceToSoap(edg_wll_Source in, enum lbt__eventSource *out) case EDG_WLL_SOURCE_LOG_MONITOR: *out = LogMonitor; break; case EDG_WLL_SOURCE_LRMS: *out = LRMS; break; case EDG_WLL_SOURCE_APPLICATION: *out = Application; break; + case EDG_WLL_SOURCE_LB_SERVER: *out = LBServer; break; default: assert(0); break; } } diff --git a/org.glite.lb.server/test/oneJob.qry b/org.glite.lb.server/test/oneJob.qry index d419ce8..74655ff 100644 --- a/org.glite.lb.server/test/oneJob.qry +++ b/org.glite.lb.server/test/oneJob.qry @@ -18,7 +18,7 @@ FROM UserInterface FROM_HOST sending component hostname FROM_INSTANCE sending component instance LOCAL_JOBID new jobId (Condor Globus ...) -SEQCODE UI=000002:NS=0000000001:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000 +SEQCODE UI=000002:NS=0000000001:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000 SRC_INSTANCE select name,value from long_fields where jobid = 'WrCEKje9QTXFiSOZuPMLtw' and event = 1 diff --git a/org.glite.lb.utils/Makefile b/org.glite.lb.utils/Makefile index 042d445..47906a6 100644 --- a/org.glite.lb.utils/Makefile +++ b/org.glite.lb.utils/Makefile @@ -46,7 +46,7 @@ SOLINK:=libtool --mode=link ${CC} -module ${LDFLAGS} -rpath ${stagedir}/lib LINKXX:=libtool --mode=link ${CXX} ${LDFLAGS} INSTALL:=libtool --mode=install install LINKXX:=libtool --mode=link ${CXX} -rpath ${stagedir}/lib ${LDFLAGS} -XSLTPROC:=xsltproc +XSLTPROC:=xsltproc --novalid GLOBUS_LIBS:= -L${globus_prefix}/lib \ -lglobus_common_${nothrflavour} \ diff --git a/org.glite.lb.ws-interface/src/LBTypes.xml.T b/org.glite.lb.ws-interface/src/LBTypes.xml.T index 9804182..3e1d87c 100644 --- a/org.glite.lb.ws-interface/src/LBTypes.xml.T +++ b/org.glite.lb.ws-interface/src/LBTypes.xml.T @@ -205,6 +205,7 @@ + diff --git a/org.glite.lb/project/events.T b/org.glite.lb/project/events.T index 3dd0211..77b8fdb 100644 --- a/org.glite.lb/project/events.T +++ b/org.glite.lb/project/events.T @@ -205,6 +205,7 @@ int state New collection state. _optional_ int done_code In case of (state == Done) contains done code + _null_ -1 string histogram User readable histogram; useful for debugging. jobid child JobId of subjob, which triggered the state change. string child_event Event which triggered the state change.