added option for max event file size
authorMichal Voců <michal@ruk.cuni.cz>
Wed, 1 Apr 2009 21:09:21 +0000 (21:09 +0000)
committerMichal Voců <michal@ruk.cuni.cz>
Wed, 1 Apr 2009 21:09:21 +0000 (21:09 +0000)
org.glite.lb.logger/src/interlogd.c
org.glite.lb.logger/src/interlogd.h

index b247487..e6ebded 100644 (file)
@@ -80,6 +80,7 @@ char *file_prefix = DEFAULT_PREFIX;
 int bs_only = 0;
 int lazy_close = 1;
 int default_close_timeout;
+size_t max_store_size;
 int parallel = 0;
 #ifdef LB_PERF
 int nosend = 0, norecover=0, nosync=0, noparse=0;
@@ -107,6 +108,7 @@ static struct option const long_options[] =
   {"log-server", required_argument, 0, 'l'},
   {"socket", required_argument, 0, 's'},
   {"lazy", optional_argument, 0, 'L'},
+  {"max-store", required_argument, 0, 'M'},
   {"parallel", optional_argument, 0, 'p'},
 #ifdef LB_PERF
   {"nosend", no_argument, 0, 'n'},
@@ -141,7 +143,7 @@ decode_switches (int argc, char **argv)
                           "k:"          /* key */
                           "C:"          /* CA dir */
                           "b"  /* only bookeeping */
-                           "l:" /* log server */
+               "l:" /* log server */
                           "d" /* debug */
                           "p" /* parallel */
 #ifdef LB_PERF
@@ -153,9 +155,10 @@ decode_switches (int argc, char **argv)
                           "e:" /* event file */
                           "j:" /* num jobs */
 #endif
-#endif                    
+#endif
                           "L::" /* lazy */
-                          "s:", /* socket */
+                          "s:" /* socket */
+                          "M:" /* max-store */,
                           long_options, (int *) 0)) != EOF)
     {
       switch (c)
@@ -205,7 +208,7 @@ decode_switches (int argc, char **argv)
 
        case 'L':
                lazy_close = 1;
-               if(optarg) 
+               if(optarg)
                        default_close_timeout = atoi(optarg);
                        if(default_close_timeout == 0) {
                                default_close_timeout = TIMEOUT;
@@ -215,10 +218,14 @@ decode_switches (int argc, char **argv)
                        default_close_timeout = TIMEOUT;
                break;
 
+       case 'M':
+               max_store_size = atoi(optarg);
+               break;
+
        case 'p':
-               if(optarg) 
+               if(optarg)
                        parallel = atoi(optarg);
-               else 
+               else
                        parallel = 4;
                break;
 
@@ -351,14 +358,14 @@ main (int argc, char **argv)
      if (ret == EDG_WLL_GSS_ERROR_GSS)
        edg_wll_gss_get_error(&gss_stat, "edg_wll_gss_acquire_cred_gsi()", &gss_err);
      asprintf(&str, "Failed to load GSI credential: %s\n",
-             (gss_err) ? gss_err : "edg_wll_gss_acquire_cred_gsi() failed"); 
+             (gss_err) ? gss_err : "edg_wll_gss_acquire_cred_gsi() failed");
      il_log(LOG_CRIT, str);
      free(str);
      if (gss_err)
        free(gss_err);
      exit(EXIT_FAILURE);
   }
-  
+
 #ifndef PERF_EMPTY
   /* find all unsent events waiting in files */
 #ifdef LB_PERF
@@ -369,7 +376,7 @@ main (int argc, char **argv)
          }
   } else
 #endif
-  { 
+  {
          pthread_t rid;
 
          il_log(LOG_INFO, "Starting recovery thread...\n");
index d3d81b6..df3ed84 100644 (file)
@@ -78,6 +78,7 @@ extern int bs_only;
 extern int killflg;
 extern int lazy_close;
 extern int default_close_timeout;
+extern size_t max_store_size;
 extern int parallel;
 #ifdef LB_PERF
 extern int nosend, nosync, norecover, noparse;
@@ -91,7 +92,7 @@ extern char *event_source;
 extern pthread_mutex_t flush_lock;
 extern pthread_cond_t flush_cond;
 #endif
-  
+
 typedef struct {
        /* il_octet_string_t */
        int       len;
@@ -100,7 +101,7 @@ typedef struct {
        enum { IL_HTTP_OTHER,
               IL_HTTP_GET,
               IL_HTTP_POST,
-              IL_HTTP_REPLY 
+              IL_HTTP_REPLY
        } msg_type;
        int       reply_code;
        char      *reply_string;
@@ -114,7 +115,7 @@ typedef union {
        il_http_message_t http_msg;
 } il_message_t;
 
-  
+
 struct event_store {
        char     *event_file_name;         /* file with events from local logger */
        char     *control_file_name;       /* file with control information */
@@ -201,7 +202,7 @@ int event_queue_remove(struct event_queue *);
 int event_queue_enqueue(struct event_queue *, char *);
 /* helper */
 int enqueue_msg(struct event_queue *, struct server_msg *);
-int event_queue_move_events(struct event_queue *, struct event_queue *, int (*)(struct server_msg *, void *), void *); 
+int event_queue_move_events(struct event_queue *, struct event_queue *, int (*)(struct server_msg *, void *), void *);
 
 /* protocol event queue methods */
 int event_queue_connect(struct event_queue *);
@@ -244,7 +245,7 @@ int notifid_map_set_expiration(const char *, time_t);
 int event_store_init(char *);
 int event_store_cleanup();
 int event_store_recover_all(void);
-struct event_store *event_store_find(char *);
+struct event_store *event_store_find(char *, const char * = NULL);
 int event_store_sync(struct event_store *, long);
 int event_store_next(struct event_store *, long, int);
 int event_store_commit(struct event_store *, int, int, int);