openlsd.multiple.admin
Class LSDCheckInDBThreadedDualLimitML

java.lang.Object
  extended by openlsd.server.admin.commoncheck.LSDCheckInDBAbstract
      extended by openlsd.server.admin.commoncheck.limit.LSDCheckInDBAbstractDual
          extended by openlsd.multiple.admin.commoncheck.limit.LSDCheckInDBAbstractDualML
              extended by openlsd.multiple.admin.LSDCheckInDBThreadedDualLimitML

public class LSDCheckInDBThreadedDualLimitML
extends LSDCheckInDBAbstractDualML

Check DB <-> LSD in parallel but local to the LSD server with one step from LSD then both sides LSD/DB with DB. Version for ML support with no action on DB with dual date as limit.

Author:
Frederic Bregier LGPL

Field Summary
 
Fields inherited from class openlsd.multiple.admin.commoncheck.limit.LSDCheckInDBAbstractDualML
idip, opFix
 
Fields inherited from class openlsd.server.admin.commoncheck.LSDCheckInDBAbstract
admin, errorFreeLegacy, ipportAdmin, legacy, lid, llc, lsdlegacy, nodate, repairdb, repairlsd, repairupdb, updateDate, useCfunc
 
Constructor Summary
LSDCheckInDBThreadedDualLimitML(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.multiple.admin.commoncheck.limit.LSDCheckInDBAbstractDualML
checkLID, initializeArgs
 
Methods inherited from class openlsd.server.admin.commoncheck.LSDCheckInDBAbstract
checkDBConsistency
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LSDCheckInDBThreadedDualLimitML

public LSDCheckInDBThreadedDualLimitML(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. This function is intend to be used only in ML context to check consistency of one Storage against database but never correct the database. To correct database against LSD, you have to use the LSDCheckInDBThreaded without the ML option, but to be sure that all files are there before since one MLegacy could have an absent file but not in another MLegacy.

Parameters:
args - with the config filename (db config) as first arg, then the LSD config filename.
A third argument can be '-nbthread' following 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,
'-idip' follow by the idip of the Protected IpPort of the local LSD Server,
'-opfix' follow by the idip of the Protected IpPort of the valid LSD Server to repair all problems (if -repair or -repairlsd is set) through OpHandler,
'-repair' to repair all problems only in LSD (not in database, so same as -repairlsd) (optional),
'-repairlsd' to repair LSD references
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 of disabling any action on it (for instance 1 minute before and after check is launch), in order to allow the production to be running during check. '-nodate' is allow as only the upper date can be set (current date). One should however not allow delete operation during the check, since they can be not taken correctly into account.