Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] assets may become unavailable during storage migration #4442

Closed
1 of 3 tasks
uhthomas opened this issue Oct 11, 2023 · 1 comment
Closed
1 of 3 tasks

[BUG] assets may become unavailable during storage migration #4442

uhthomas opened this issue Oct 11, 2023 · 1 comment

Comments

@uhthomas
Copy link
Member

The bug

An operation log for file moves was introduced to help with data consistency issues (#2877) in #4361, but it too has realistic cases which impact data availability.

The move operation works by first moving the file and then changing the path in the database. There are no locks on the asset row during this operation, which presents two problems:

  1. There is a race condition where assets will be unavailable for brief periods during a storage migration.
  2. Assets will be unavailable for extended periods of time if the asset row is not updated. It will eventually fix itself, but availability is impacted until then.

The OS that Immich Server is running on

N/A

Version of Immich Server

v1.82.0

Version of Immich Mobile App

N/A

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

N/A

Your .env content

N/A

Reproduction steps

N/A

Additional information

N/A

@jrasm91
Copy link
Contributor

jrasm91 commented May 13, 2024

This is a non-issue when the storage template is disabled (and it is off by default now). There are no plans to support this level of availability while the storage migration is enabled.

@jrasm91 jrasm91 closed this as not planned Won't fix, can't repro, duplicate, stale May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants