Skip to content

v1.20.0 does not schedule Spot import jobs with SQLite #214

Description

@gslashm

Describe the bug

after setting up Spottarr v1.20.0 with the built-in sqlite database, Spottarr starts successfully and the web/Newznab API is reachable, but the Spotnet import job never gets scheduled.

quartz starts successfully, but reports zero triggers:

    Quartz Scheduler 3.19.1.0 - 'Spottarr Scheduler'
    Scheduler Spottarr Scheduler_$_NON_CLUSTERED started.
    Batch acquisition of 0 triggers

after, the database remains at 0 spots and Newznab searches return:

    <newznab:response offset="0" total="0" />

there are no SpotImportService/import job messages in the logs after application startup.

I then tested the same docker config and database setup, without changing anything, with Spottarr v1.18.1, which immediately scheduled and executed the import job successfully:

    Spot import batch (2/403) started
    Spot import batch (2/403) finished ... Imported 0 spots.
    Spot import batch (3/403) started
    ...
    Spot import batch (4/403) finished ... Imported 4675 spots.

so therefore there's some kind of regression in v1.20.0 affecting scheduling/registration of the Spotnet import job.

To Reproduce

  1. run Spottarr v1.20.0 in Docker using the built-in SQLite database.

  2. configure a working NNTP server with valid credentials.

  3. configure the following Spotnet settings (probably the same with everything else but these were mine):

    SPOTNET__RETRIEVEAFTER=2013-01-01T00:00:00Z
    SPOTNET__RETENTIONDAYS=6529
    SPOTNET__IMPORTBATCHSIZE=7500
    SPOTNET__IMPORTADULTCONTENT=false

  4. start the container.

  5. observe the logs.

expected:
a Spotnet import job gets registered and begins processing batches from the NNTP server.

actual:
quartz starts successfully but has zero triggers:

    Batch acquisition of 0 triggers

No Spotnet import job runs and the database remains empty.

Expected behavior

after startup, Spottarr should register the Spotnet import job with quartz and begin importing Spotnet articles according to SPOTNET__RETRIEVEAFTER and the configured import settings.

the database should begin accumulating spots and Newznab searches should return indexed releases.

Screenshots

No response

Error message

info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://[::]:8383
info: Microsoft.Hosting.Lifetime[0]
      Application started.
info: Quartz.Core.QuartzScheduler[0]
      Scheduler Spottarr Scheduler_$_NON_CLUSTERED started.
dbug: Quartz.Core.QuartzSchedulerThread[0]
      Batch acquisition of 0 triggers


info: Spottarr.Services.Spots.SpotImportService[100245673]
      Spot import batch (2/403) started ...
info: Spottarr.Services.Spots.SpotImportService[403045358]
      Spot import batch (2/403) finished ... Imported 0 spots.
info: Spottarr.Services.Spots.SpotImportService[100245673]
      Spot import batch (3/403) started ...
...
info: Spottarr.Services.Spots.SpotImportService[403045358]
      Spot import batch (4/403) finished ... Imported 4675 spots.



After going back to 1.18.1:

fail: Spottarr.Services.Spots.SpotImportService[359457455]
      Failed to save spots.
      Microsoft.Data.Sqlite.SqliteException:
      SQLite Error 1: 'table _temp_bulk_insert_9suh2d has no column named ImageMessageId'

OS and version

Debian LXC on Proxmox VE 9.2.2

OS Platform

x64

Spottarr Version

1.20.0

Docker compose configuration

spottarr:
  image: ghcr.io/spottarr/spottarr:1.20.0
  container_name: spottarr
  restart: unless-stopped
  user: "13000:13000"
  environment:
    TZ: Europe/Sofia
    USENET__HOSTNAME: <redacted>
    USENET__USERNAME: <redacted>
    USENET__PASSWORD: <redacted>
    USENET__PORT: "563"
    USENET__USETLS: "true"
    USENET__MAXCONNECTIONS: "15"
    SPOTNET__RETRIEVEAFTER: "2013-01-01T00:00:00Z"
    SPOTNET__RETENTIONDAYS: "6529"
    SPOTNET__IMPORTBATCHSIZE: "7500"
    SPOTNET__IMPORTADULTCONTENT: "false"
    NEWZNAB__APIKEY: <redacted>
  ports:
    - "8383:8383"
  volumes:
    - /opt/stacks/media/config/spottarr:/data
  mem_limit: 1g

Additional context

I verified the NNTP connection from inside the Spottarr container:

    nc -vz news-nl.newshosting.com 563
    news-nl.newshosting.com (...) 563 open

DNS resolution from the container also worked.

the Newznab API endpoint is reachable:

/newznab/api

after I ran an authed Newznab search against v1.20.0 returned a valid RSS response with total=0, which confirmed to me that the HTTP API and API-key authentication were functioning.

the exact same environment/configuration was tested with v1.18.1, where the Spotnet import began immediately and successfully retrieved spots.

the v1.20.0 image digest was:
sha256:81fc3f38660876001d46be69393f0106d4277f8ab437a95cba2350547b7f17e1

the issue is reproducible on a fresh SQLite installation.
this here bug report was written from a human adult man, not a robot or an LLM. Pls fix.
I am currently running v1.18.1 as a workaround.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions