Skip to content
Snippets Groups Projects
  1. Jan 31, 2022
    • Serge Petrenko's avatar
      recovery: fix recovering from 1.6 xlogs/snaps · 8c8b7739
      Serge Petrenko authored
      Tarantool 1.6 didn't rotate xlogs on snap creation.
      This means, that Tarantool 1.6 data dir may contain files like
      0...0.xlog and 0...01.snap, where 0...0.xlog covers changes both before
      and after the snap creation.
      
      New Tarantool versions fail to recover from such files: they recover the
      data correctly, but fail to update the vclock accordingly.
      
      Let's allow recovering from such files and update the vclock
      accordingly, but only when force_recovery is set.
      
      Patch 634f59c7 ("recovery: panic in case of recovery and replicaset
      vclock mismatch") added the panic, which helped to discover the issue.
      Before that patch Tarantool would silently recover with an outdated
      vclock.
      
      Also, while we're at it, refactor the check leading to a panic: it never
      happens after hot_standby, so move it into "else" branch of hot_standby.
      
      Closes #6794
      8c8b7739
Loading