The walker is resumable by design. Kill the JVM mid-run, then
systemctl restart ownsona.service, and it picks up exactly the
rows still showing the old provider/model. No state to clean up.
Look at the exception in journalctl -u ownsona.service. Common
causes:
BATCH_SIZE in ReembedJob.java.
EMBEDDING_DIMENSIONS in config doesn’t match the column type.
The walker will try to write wrong-size vectors and fail at the
database with a vector dimension mismatch error. Fix the config and
restart.
If the new model is producing terrible recall and you want to revert:
sudo -u postgres psql ownsona < /var/backups/ownsona-pre-reembed-<date>.sql
EMBEDDING_MODEL
/ EMBEDDING_DIMENSIONS / EMBEDDING_API_KEY.
CURRENT_DB_VERSION is lower). DbMigrator refuses to
start against a higher-version DB, so you must restore the DB
first or ship code matching the DB version.
This is the “data is not cheap” branch — the backup is the only thing that gets you back cleanly. Take backups before the deploy, not after.