Changeset f742d08aaeb3c301edc5154efacc2a58e5dfff82

Show
Ignore:
Timestamp:
10/19/09 16:19:40 (5 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1255969180 +0000
git-parent:

[cc568bba655ac2820520a6c1131e25839dfe0379]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1255969180 +0000
Message:

OMG data loads, refs #150

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/stratcon.conf.in

    r5360a1e rf742d08  
    104104      ]]></mapallchecks> 
    105105      <mapchecktostoragenode><![CDATA[ 
    106         SELECT o_storage_node_id as storage_node_id, o_sid as sid, o_fqdn as fqdn, o_dsn as dsn from stratcon.map_uuid_to_sid($1,$2) 
     106        SELECT o_storage_node_id as storage_node_id, o_sid as sid, 
     107               o_fqdn as fqdn, o_dsn as dsn 
     108          FROM stratcon.map_uuid_to_sid($1,$2) 
    107109      ]]></mapchecktostoragenode> 
    108110      <check><![CDATA[ 
    109         INSERT INTO stratcon.loading_dock_check_s 
     111        INSERT INTO check_archive 
    110112                    (remote_address, whence, sid, id, target, module, name) 
    111113             VALUES ($1, 'epoch'::timestamptz + ($2 || ' seconds')::interval, 
    112                      stratcon.generate_sid_from_id($3), $3, $4, $5, $6
     114                     $3, $4, $5, $6, $7
    113115      ]]></check> 
    114116      <status><![CDATA[ 
    115         INSERT INTO stratcon.loading_dock_status_archive_%Y%m 
    116                     ( whence,sid, state, availability, 
    117                      duration, status) 
     117        INSERT INTO check_status_archive 
     118                    (whence, sid, state, availability, duration, status) 
    118119             VALUES ('epoch'::timestamptz + ($1 || ' seconds')::interval, 
    119                      stratcon.generate_sid_from_id($2), $3, $4, $5, $6) 
     120                     $2, $3, $4, $5, $6) 
    120121      ]]></status> 
    121122      <metric_numeric><![CDATA[ 
    122         INSERT INTO stratcon.loading_dock_metric_numeric_archive_%Y%m 
     123        INSERT INTO metric_numeric_archive 
    123124                    (whence, sid, name, value) 
    124              VALUES ( 'epoch'::timestamptz + ($1 || ' seconds')::interval, 
    125                      stratcon.generate_sid_from_id($2), $3, $4) 
     125             VALUES ('epoch'::timestamptz + ($1 || ' seconds')::interval, 
     126                     $2, $3, $4) 
    126127      ]]></metric_numeric> 
    127128      <metric_text><![CDATA[ 
    128         INSERT INTO stratcon.loading_dock_metric_text_archive_%Y%m 
     129        INSERT INTO metric_text_archive 
    129130                    ( whence, sid, name,value) 
    130131             VALUES ('epoch'::timestamptz + ($1 || ' seconds')::interval, 
    131                      stratcon.generate_sid_from_id($2), $3, $4) 
     132                     $2, $3, $4) 
    132133      ]]></metric_text> 
    133134      <config><![CDATA[ 
  • src/stratcon_datastore.c

    rcc568bb rf742d08  
    160160 
    161161static int stratcon_database_connect(conn_q *cq); 
     162static int uuid_to_sid(const char *uuid_str_in, const char *remote_cn); 
    162163 
    163164static void 
     
    575576} 
    576577execute_outcome_t 
    577 stratcon_datastore_execute(conn_q *cq, const char *r, ds_line_detail *d) { 
    578   int type, len; 
     578stratcon_datastore_execute(conn_q *cq, const char *r, const char *remote_cn, 
     579                           ds_line_detail *d) { 
     580  int type, len, sid; 
    579581  char *final_buff; 
    580582  uLong final_len, actual_final_len; 
     
    658660        d->whence = (time_t)strtoul(token, NULL, 10); 
    659661        PROCESS_NEXT_FIELD(token, len); 
     662        sid = uuid_to_sid(token, remote_cn); 
     663        if(sid == 0) goto bad_row; 
     664        DECLARE_PARAM_INT(sid); /* sid */ 
    660665        DECLARE_PARAM_STR(token,len); /* uuid */ 
    661666        PROCESS_NEXT_FIELD(token, len); 
     
    671676        d->whence = (time_t)strtoul(token, NULL, 10); 
    672677        PROCESS_NEXT_FIELD(token, len); 
    673         DECLARE_PARAM_STR(token,len); /* uuid */ 
     678        sid = uuid_to_sid(token, remote_cn); 
     679        if(sid == 0) goto bad_row; 
     680        DECLARE_PARAM_INT(sid); /* sid */ 
    674681        PROCESS_NEXT_FIELD(token, len); 
    675682        DECLARE_PARAM_STR(token,len); /* name */ 
     
    684691        d->whence = (time_t)strtoul(token, NULL, 10); 
    685692        PROCESS_NEXT_FIELD(token, len); 
    686         DECLARE_PARAM_STR(token,len); /* uuid */ 
     693        sid = uuid_to_sid(token, remote_cn); 
     694        if(sid == 0) goto bad_row; 
     695        DECLARE_PARAM_INT(sid); /* sid */ 
    687696        PROCESS_NEXT_FIELD(token, len); 
    688697        DECLARE_PARAM_STR(token,len); /* state */ 
     
    10121021        continue; 
    10131022      }  
    1014       rv = stratcon_datastore_execute(cq, cq->remote_str, current); 
     1023      rv = stratcon_datastore_execute(cq, cq->remote_str, cq->remote_cn, 
     1024                                      current); 
    10151025      switch(rv) { 
    10161026        case DS_EXEC_SUCCESS: 
     
    12281238  if(sid_out) *sid_out = uuidinfo->sid; 
    12291239} 
     1240static int 
     1241uuid_to_sid(const char *uuid_str_in, const char *remote_cn) { 
     1242  char uuid_str[UUID_STR_LEN+1]; 
     1243  int sid = 0; 
     1244  strlcpy(uuid_str, uuid_str_in, sizeof(uuid_str)); 
     1245  storage_node_quick_lookup(uuid_str, remote_cn, &sid, NULL, NULL, NULL); 
     1246  return sid; 
     1247} 
    12301248static void 
    12311249stratcon_datastore_journal(struct sockaddr *remote,