Changeset 24680

Show
Ignore:
Timestamp:
28.09.2011 13:16:19 (8 years ago)
Author:
jmt12
Message:

Removed sanity check for GDBM (where was my sanity - GDBM works, it's just slow because of locking). Added initializer for archiveinf-doc infodb to ensure that any GDBMServer persists throughout parallel building

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • gs2-extensions/parallel-building/trunk/src/bin/script/buildcol.pl

    r24667 r24680  
    396396    { 
    397397      $collectcfg->{'infodbtype'} = &dbutil::get_default_infodb_type(); 
    398     } 
    399     # sanity check - you currently can't have GDBM as the infodb while 
    400     # asking for a parallel build 
    401     elsif ($collectcfg->{'infodbtype'} eq 'gdbm' && $parallel) 
    402     { 
    403       print STDERR "WARNING: Parallel builds not supported by GDBM - reverting to serial build\n"; 
    404       $parallel = 0; 
    405398    } 
    406399    # sanity check - you currently can't have SQLite as the infodb while 
     
    674667  { 
    675668    print $out "*** parallel building\n"; 
     669    # Some infodb modes (namely GDBMServer at the moment) need to open the 
     670    # connection to the database in such a way that it persists over the 
     671    # child threads. We do this by adding a dummy call to build the file path 
     672    # to archiveinf-doc as it is the database in question. The '1' at the end 
     673    # means launch the server... it will then persist until this block passes 
     674    # out of scope (presumably after all the child mpi processes are done) 
     675    my $arcinfo_doc_filename = &dbutil::get_infodb_file_path($collectcfg->{'infodbtype'}, "archiveinf-doc", $archivedir, 1); 
     676 
    676677    # we initially create the recipe as a datastructure to make it easier for 
    677678    # each builder to determine what has already been defined