Skip to content
Snippets Groups Projects
user avatar
Vladimir Davydov authored
While building a secondary index for a Vinyl space, we use xm->lsn to
skip statements inserted after build began (as those statements are
propagated by the on_replace trigger callback anyway). The xm->lsn is
advanced every time we insert something into a Vinyl space. The problem
is during recovery we skip statements that have been dumped to disk so
xm->lsn may lag behind the instance vclock once recovery is complete.
In this case if we try to create a new Vinyl index right after recovery
completion, before any DML operation is executed on a Vinyl space, we
will skip statements that would otherwise get into the new index.

Fix this issue by resetting xm->lsn to the instance vclock upon recovery
completion.

Closes #3903
6351d916
History
Name Last commit Last update