abs-tract icon indicating copy to clipboard operation
abs-tract copied to clipboard

Unhandled Rejection; error at database with quick match

Open bobsdacool opened this issue 8 months ago • 2 comments

Hey.

I'm not sure if you were aware of this.

I've been using abs-tract with goodreads for a while now, awesome bit of kit.

I've lately been running into an issue with the quick match function. Matching individual books is fine, but when I go to bulk match I am returned the error below in ABS.

It is likely an ABS issue but since they don't provide official support for metadata providers I figured I'd post it here to get your thoughts.

Here is the associated log for where this process stops.

2025-05-11T17:10:10.42323102Z INFO Response: 200 OK service: "abs-tract" httpRequest: {url: "http://abs-tract:5555/goodreads/search?mediaType=book&query=A+Sanctuary+of+Wyrms+%28The+Dark+Coil%29&author=Peter+Fehervari" method: "GET" path: "/goodreads/search" remoteIP: "172.17.96.3:50286" proto: "HTTP/1.1" requestID: "425a630dd40c/H6Zt4DJQAo-002574" scheme: "http" header: {accept: "application/json, text/plain, /" user-agent: "axios/0.27.2" connection: "keep-alive"}} httpResponse: {status: 200 bytes: 957 elapsed: 902.962981}

ABS ERROR

[Server] Unhandled rejection: Error at Database. (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27) at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50 at new Promise () at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12) at /node_modules/sequelize/lib/sequelize.js:315:28 at async SQLiteQueryInterface.update (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:355:12) at async BookSeries.save (/node_modules/sequelize/lib/model.js:2490:35) at async Scanner.quickMatchBookBuildUpdatePayload (/server/scanner/Scanner.js:303:13) at async Scanner.quickMatchLibraryItem (/server/scanner/Scanner.js:76:35) at async ApiRouter.batchQuickMatch (/server/controllers/LibraryItemController.js:744:27) { name: 'SequelizeDatabaseError', parent: [Error: SQLITE_ERROR: near "WHERE": syntax error] { errno: 1, code: 'SQLITE_ERROR', sql: 'UPDATE bookSeries SET WHERE id = $1' }, original: [Error: SQLITE_ERROR: near "WHERE": syntax error] { errno: 1, code: 'SQLITE_ERROR', sql: 'UPDATE bookSeries SET WHERE id = $1' }, sql: 'UPDATE bookSeries SET WHERE id = $1', parameters: {} } promise: Promise { Error at Database. (/node_modules/sequelize/lib/dialects/sqlite/query.js:185:27) at /node_modules/sequelize/lib/dialects/sqlite/query.js:183:50 at new Promise () at Query.run (/node_modules/sequelize/lib/dialects/sqlite/query.js:183:12) at /node_modules/sequelize/lib/sequelize.js:315:28 at async SQLiteQueryInterface.update (/node_modules/sequelize/lib/dialects/abstract/query-interface.js:355:12) at async BookSeries.save (/node_modules/sequelize/lib/model.js:2490:35) at async Scanner.quickMatchBookBuildUpdatePayload (/server/scanner/Scanner.js:303:13) at async Scanner.quickMatchLibraryItem (/server/scanner/Scanner.js:76:35) at async ApiRouter.batchQuickMatch (/server/controllers/LibraryItemController.js:744:27) { name: 'SequelizeDatabaseError', parent: [Error: SQLITE_ERROR: near "WHERE": syntax error] { errno: 1, code: 'SQLITE_ERROR', sql: 'UPDATE bookSeries SET WHERE id = $1' }, original: [Error: SQLITE_ERROR: near "WHERE": syntax error] { errno: 1, code: 'SQLITE_ERROR', sql: 'UPDATE bookSeries SET WHERE id = $1' }, sql: 'UPDATE bookSeries SET WHERE id = $1', parameters: {} } }

Thanks so much for your help and thoughts with this, and for the hard work that has gone into this piece of software. It is really appreciated!

bobsdacool avatar May 11 '25 17:05 bobsdacool

Apologies for the delay in replying to this, I somehow completely missed it.

Have you seen this issue https://github.com/ahobsonsayers/abs-tract/issues/19 and this related issue in ABS https://github.com/advplyr/audiobookshelf/issues/4004? Does this seem like the same thing you are seeing?

ahobsonsayers avatar Jul 19 '25 16:07 ahobsonsayers

Hi! No worries on the wait, it'd be a bit silly for anyone to be making demands on this wonderful voluntarily produced, free service :)

I'm afraid I have not encountered ; in my http requests, and all have been returning with success code 200 for the metadata searchers from the abs-tract logs.

I'm afraid there is no readily available information I can share with you. However if there is anything in particular you can recommend I try in order to collect data, please let me know!

Update: It seems that quickmatch itself is just not working with abs-tract, at least for me.

Cheers.

bobsdacool avatar Jul 21 '25 20:07 bobsdacool