Extreme Chess Analysis backup system

Any data of the user is precious and so is a tree of ECA. If a tree is corrupted or lost, it is a serious hurt since it may take a long time running computers to have.

The problem is that the ECA’s trees are somewhat quite vulnerable to be corrupted since they are typically huge, text formats, take time to write down, written in high frequency and the whole computing process (to expand and evaluate the tree) may take a very long time. Any interruption when writing such as computers/software crashes or sudden shutdown… may end in broken data. Because the data of a tree is typically huge, it’s not easy to find and fix a broken one or not worth doing that. In most cases, we should dump it and use backup data instead.

ECA backup files

ECA saves the computing tree to the hard disk whenever there’s a change such as branches expanded or a node evaluated. If the user does not do those tasks, there is not any writing and he may ignore this trouble.

With the recent releases, all ECA files are stored in the BanksiaGUI configuration folder. ECA auto-creates several backup files, previous data files are automatically renamed and/or copied into multiple files. They are:

  • Normal backup files: all previous tree data are written in 5 backup files with extensions started from .json.bk.1. The older files are auto deleted
  • Daily backup: the tree is automatically stored in a backup file with extension in form of .json.dayYYYYMMDD, e.g., .json.day20210725. Different from normal backups, BSG doesn’t delete those files. Users are suggested to check and delete old files to save space

The backup system is designed to save as much as possible the work when some incident happens. ECA tries to minimize the potential work loss to be just a few hours or a day.

Verify 

After loading the data, ECA always auto-verify data to check the correctness and consistency. It may pop up a dialog box to inform the user if it sees any problem.

Load data from a backup

Click on the button Data files, BSG pops up a dialogue to show all data files. Users can select anyone to delete or load.

What users can do to help

  • Frequent manually backup data (clone projects)
  • Shutdown gently: avoid shutdown BSG or computers when ECA computing since the data may be being written. It’s the best if the user clicks on the Stop button to stop it first, wait for a second (that period is enough for computing writing down) then do what they want.