fix wrong handling of notification destinations
authorMichal Voců <michal@ruk.cuni.cz>
Fri, 18 May 2007 09:02:27 +0000 (09:02 +0000)
committerMichal Voců <michal@ruk.cuni.cz>
Fri, 18 May 2007 09:02:27 +0000 (09:02 +0000)
org.glite.lb.logger/src/event_store.c
org.glite.lb.logger/src/il_master.c

index 6b7b3ce..37dd4f9 100644 (file)
@@ -347,7 +347,7 @@ event_store_quarantine(struct event_store *es)
 int
 event_store_recover(struct event_store *es)
 {
-  struct event_queue *eq_l = NULL, *eq_b, *eq_b_new;
+  struct event_queue *eq_l = NULL, *eq_b;
   struct server_msg *msg;
   char *event_s;
   int fd, ret;
@@ -360,7 +360,7 @@ event_store_recover(struct event_store *es)
   assert(es != NULL);
   
 #if defined(IL_NOTIFICATIONS)
-  eq_b = queue_list_get(es->dest);
+  /* destination queue has to be found for each message separately */
 #else
   /* find bookkepping server queue */
   eq_b = queue_list_get(es->job_id_s);
@@ -532,12 +532,7 @@ event_store_recover(struct event_store *es)
       }
 
 #ifdef IL_NOTIFICATIONS
-    eq_b_new = queue_list_get(msg->dest);
-    if (eq_b_new != eq_b) {
-           free(es->dest);
-           es->dest = strdup(msg->dest);
-           eq_b = eq_b_new;
-    }
+    eq_b = queue_list_get(msg->dest);
 #endif
 
     /* now enqueue to the BS, if neccessary */
@@ -962,10 +957,6 @@ event_store_from_file(char *filename)
                goto out;
        }
 
-#if defined(IL_NOTIFICATIONS)
-       es->dest = dest_name;
-#endif
-
        if((es->last_committed_ls == 0) &&
           (es->last_committed_bs == 0) &&
           (es->offset == 0)) {
index d1e9ebe..ea4f97e 100644 (file)
@@ -30,8 +30,10 @@ enqueue_msg(struct event_queue *eq, struct server_msg *msg)
                if(notifid_map_set_dest(msg->job_id_s, eq) < 0) 
                        return(-1);
                /* move all events with this notif_id from eq_known to eq */
-               if(eq_known != NULL) 
+               if(eq_known != NULL) {
                        event_queue_move_events(eq_known, eq, msg->job_id_s);
+                       /* XXX - we should kill the old queue too */
+               }
        }
 #endif