PS alpha upgraded: db-info.json expecting sqlite file in different location

I have just updated PS Alpha to the latest GIT version 2023.11.0-alpha.1

Actually, PS appears to have updated itself, and I am getting the following in UI on start.

/mnt/nfs/Photos/PhotoStructure/.photostructure/models/db-info.json expects the live db to be psfile://3DaL3UzRs/home/photostructure/.cache/photostructure/models-live-db/4e04-c0qq-a7j3-0xjj-b81x-99kh/db.sqlite3 but the live db is pslib:/.photostructure/models/db.sqlite3

How I got here
I restarted my dedicated Ubuntu LTS 22.04 VM with PS for servers installed. When it came back up, it complained about a few things and I noticed it was now running a very new version (I’d never seen the /health endpoint before).

From memory it warned that I did not have 8GB free on my VM and that Node was old (16.18.something if remember correctly). I think there might have been another complaint too. However, after clicking “restart” in the UI it was then showing photos so I assumed it was working other than the warnings.

I then ran an apt-get upgrade and then a apt-get dist-upgrade hoping that might get me a newer node and I resized the Virtualbox disk, increased the LVM PV and LVs and resized ext4.

Node was still old, so I followed the instructions for installing node using apt and I tried to restart the systemd target.

Part of the above is specific config for node and npm module locations. I suspect that was the reason that it complained about yarn not found. So I installed it using the instructions I found here.

Now PS is starting and I get the health page load up with the above error.

Notes

  1. My photos store is on NFS on another server backed by mirrored ZFS. This is backed up regularly.
  2. My PS library is also located there too (I think I understand the difference). I’m trying to not have too much on the VM because it’s not backed up.

Howdy!

One of the things I really wanted to avoid from v2.1 was issues stemming from inconsistent “local db replica mode”.

When running, PhotoStructure (actually the web service) runs some heuristics to determine if SQLite can use the library database directly, or of it needs to use a db replica stored in local disk.

It does these heuristics when it’s starting up, and writes a “db-info.json” file in your /ps/library/.photostructure/models/ directory, and should delete the file when it is shut down gracefully.

Make sure PhotoStructure is shut down, then manually delete that json file, then restart your PhotoStructure container. Things should work.

Also verify that your system is shutting down PhotoStructure gracefully. If you see this error again, or your library is suddenly empty, or you see database errors, it’s probably from not shutting down cleanly.

Thanks @mrm. That’s fixed it.

I shutdown from the button on the UI, checked that nothing was running, and then restarted the systemd service.

All my photos are back. Thank you!

Excellent, thanks taking the time to say it worked.

If this happens again, please do notify me: we can dig into your config and make sure it’s letting PhotoStructure shut down gracefully.

I still get this from time to time. I get two errors fairly regularly.

  1. This error. Sometimes just restarting PS gets it going again, other times it needs the above file removed. I am using the .photostructure on NFS and have the setting for forceLocalDbReplica set to true in settings.toml
  2. I then get Something's amiss with ExifTool: ExifTool timed out so I don’t think imports are working at the moment.

I have PS for Servers installed on a dedicated VM. I recently upgraded the VM with 2023.12.0-alpha.7.
I had to update node and some other stuff to get it working again.

Prior to that, it was quite stable. The underlying machine is starting show its age. I am wondering if it’s just too slow. The VM has 12 vCPUs (Xeons) and 8GB of RAM. The PS library location and the actual images are NFS mounted in the client to an export on the host which is running ZFS mirrored disks.