immich icon indicating copy to clipboard operation
immich copied to clipboard

[BUG] `force re-scan all library files` doesnt update the asset metadata/thumbnails

Open amit-handa opened this issue 1 year ago • 5 comments

The bug

the asset metadata/thumbnail is not updated on force re-scan all library files

Thank you for maintaining the product. I am really excited to use it and improve/contribute to it.

The OS that Immich Server is running on

ubuntu 23.10

Version of Immich Server

v1.90.2

Version of Immich Mobile App

v1.90.2

Platform with the issue

  • [X] Server
  • [ ] Web
  • [ ] Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/media/pics:/mnt/media/pics
      - /mnt/media/immich-albums:/mnt/media/immich-albums
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
      file: hwaccel.yml
      service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /mnt/media/pics:/mnt/media/pics
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always


  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - tsdata:/data
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:3995fe6ea6a619313e31046bd3c8643f9e70f8f2b294ff82659d409b47d06abb
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always


volumes:
  pgdata:
  model-cache:
  tsdata:

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/mnt/media/immich-app/immich-data
LOG_LEVEL=debug

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=abc
DB_PASSWORD=abc

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

create a folder (pics) containing a single image file (abc.jpg)

1. import [external library](https://immich.app/docs/features/libraries#external-libraries), say pics
2. create external library via user->account settings->libraries->create external library
3. view the album (pics), verify the image is present (abc.jpg)
4. update `abc.jpg` with a new file `def.jpg` (`cp def.jpg abc.jpg`)
5. refresh the external library. user->account settings->libraries->`pics` external library->`force re-scan all library files`
6. observe the server logs to ensure the process has completed (shouldnt take more than a few seconds)
7. view the album again.
Issue: 
1/ instead of seeing `def.jpg` metadata, I still see `abc.jpg` metadata
2/ instead of seeing `def.jpg`, I still see `abc.jpg`
deeper dive: on downloading the image, I see the correct image `def.jpg`.
possible bug: the thumbnail is not updated on step 5. :(

Additional information

I see following AssetService errors

immich_server              | [Nest] 9  - 12/11/2023, 2:05:46 AM   ERROR [AssetService] Cannot create read stream for asset 3120ee43-e923-4f88-ad53-6604d4fd32d4
immich_server              | getAssetThumbnail
immich_server              | [Nest] 9  - 12/11/2023, 2:05:46 AM    WARN [AssetService] WebP thumbnail requested but not found for asset 3120ee43-e923-4f88-ad53-6604d4fd32d4, falling back to JPEG
immich_server              | [Nest] 9  - 12/11/2023, 2:05:46 AM   ERROR [AssetService] Cannot create read stream for asset 3120ee43-e923-4f88-ad53-6604d4fd32d4
immich_server              | getAssetThumbnail
immich_server              | [Nest] 9  - 12/11/2023, 2:07:17 AM   ERROR [AssetService] Cannot create read stream for asset 3120ee43-e923-4f88-ad53-6604d4fd32d4
immich_server              | getAssetThumbnail
immich_server              | [Nest] 9  - 12/11/2023, 2:07:17 AM    WARN [AssetService] WebP thumbnail requested but not found for asset 3120ee43-e923-4f88-ad53-6604d4fd32d4, falling back to JPEG
immich_server              | [Nest] 9  - 12/11/2023, 2:07:17 AM   ERROR [AssetService] Cannot create read stream for asset 3120ee43-e923-4f88-ad53-6604d4fd32d4

amit-handa avatar Dec 11 '23 02:12 amit-handa