• Julien Muchembled's avatar
    Perform DB truncation during recovery, send PT to storages before verification · 3e3eab5b
    Julien Muchembled authored
    Currently, the database may only be truncated when leaving backup mode, but
    the issue will be the same when neoctl gets a new command to truncate at an
    arbitrary tid: we want to be sure that all nodes are truncated before anything
    else.
    
    Therefore, we stop sending Truncate orders before stopping operation because
    nodes could fail/exit before actually processing them. Truncation must also
    happen before asking nodes their last ids.
    
    With this commit, if a truncation is requested:
    - this is always the first thing done when a storage node connects to the
      primary master during the RECOVERING phase,
    - and the cluster does not start automatically if there are missing nodes,
      unless an admin forces it.
    
    Other changes:
    - Connections to storage nodes don't need to be aborted anymore when leaving
      backup mode.
    - The master always initiates communication when a storage node identifies,
      which simplifies code and reduces the number of exchanged packets.
    3e3eab5b
Name
Last commit
Last update
neo Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
BUGS Loading commit data...
CHANGES Loading commit data...
COPYING Loading commit data...
MANIFEST.in Loading commit data...
README Loading commit data...
TESTS.txt Loading commit data...
TODO Loading commit data...
UPGRADE Loading commit data...
ZODB3.patch Loading commit data...
importer.conf Loading commit data...
neo.conf Loading commit data...
neoadmin Loading commit data...
neoctl Loading commit data...
neolog Loading commit data...
neomaster Loading commit data...
neomigrate Loading commit data...
neostorage Loading commit data...
setup.py Loading commit data...