openlsd.server.admin
Class LSDCheckInDBThreadedDualLimit

java.lang.Object
  extended by openlsd.server.admin.commoncheck.LSDCheckInDBAbstract
      extended by openlsd.server.admin.commoncheck.limit.LSDCheckInDBAbstractDual
          extended by openlsd.server.admin.LSDCheckInDBThreadedDualLimit

public class LSDCheckInDBThreadedDualLimit
extends LSDCheckInDBAbstractDual

Check DB <-> LSD in parallel but local to the LSD server with one step from LSD then both sides LSD/DB with DB using the ability to check between two dates (lower and upper bounds) with lower is the previous check date and upper is the current date.

Author:
Frederic Bregier LGPL

Field Summary
 
Fields inherited from class openlsd.server.admin.commoncheck.LSDCheckInDBAbstract
admin, errorFreeLegacy, ipportAdmin, legacy, lid, llc, lsdlegacy, nodate, repairdb, repairlsd, repairupdb, updateDate, useCfunc
 
Constructor Summary
LSDCheckInDBThreadedDualLimit(LSDLoadConfig llc)
          Create a LSDCheck from args
 
Method Summary
static void main(java.lang.String[] args)
          Start the connexion and runs the commands to check DB <-> LSD.
 
Methods inherited from class openlsd.server.admin.commoncheck.limit.LSDCheckInDBAbstractDual
checkLID
 
Methods inherited from class openlsd.server.admin.commoncheck.LSDCheckInDBAbstract
checkDBConsistency, initializeArgs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LSDCheckInDBThreadedDualLimit

public LSDCheckInDBThreadedDualLimit(LSDLoadConfig llc)
Create a LSDCheck from args

Parameters:
llc -
Method Detail

main

public static void main(java.lang.String[] args)
Start the connexion and runs the commands to check DB <-> LSD.

Parameters:
args - with the config filename (db config) as first arg, then the LSD config filename.
A third argument can be '-nbthread' follow by nb of thread,
'-nbstep' follow by the minimal nb of directories by thread,
'-nomd5' to not check md5,
'-noout' to only have a summary of checking,
'-update' to update the last time check in no repair mode and without any error found
'-nodate' to ignore the last time a check were done else check from that date,
'-cfunc' to use native C procedure to check the files on the filesystem (getFileFromPath),
'-nonio' to use no Nio function as Java procedure to check the file one the filesystem,
'-repair' to repair all problems (optional),
'-repairdb' to repair DB references, or
'-repairlsd' to repair LSD references or
'-repairupdb' to repair DB references including MD5.
A fourth argument must be the legacy on which the check will be applied, since in dual mode, the principle is to check one Legacy during a short time where any action is disabling on it. For instance no import or delete should be active between 1 minute before and after the check is launch.
Doing this way, the production is allowed to be running during check except this short time. '-nodate' is allow as only the upper date can be set (the second date is always the current date). One should however not allow delete operation during the check, since they can not be taken correctly into account.